我需要结合由两个rest服务提供的两个json数组。具有相同“ id”的条目属于在一起。
json1 = [{id:1,name:'aaa'},
{id:5,name:'ccc'},
{id:3,name:'bbb'}
];
json2 = [{id:3,parameter1:'x', parameter2:'y', parameter3:'z'},
{id:1,parameter1:'u', parameter2:'v', parameter3:'w'},
{id:5,parameter1:'q', parameter2:'w', parameter3:'e'}
];
我需要以以下方式(我的模型在angular2中)在javascript中组合/复制/克隆json数组:
json3 = [{id:3,name:'bbb',parameter1:'x', parameter2:'y', parameter3:'z'},
{id:1,name:'aaa', parameter1:'u', parameter2:'v', parameter3:'w'},
{id:5,name:'ccc', parameter1:'q', parameter2:'w', parameter3:'e'}
];
有没有办法将它们结合起来?参数名称未完全定义,需要与可变参数向量一起使用。
我尝试了每个循环混合。在我看来非常难看。
如果要编写它以便可以接受任意数量的数组,而不仅仅是2个,则可以利用arguments,并执行以下操作:
var json1 = [{id:1,name:'aaa'},{id:5,name:'ccc'},{id:3,name:'bbb'}];
var json2 = [{id:3,parameter1:'x', parameter2:'y', parameter3:'z'},
{id:1,parameter1:'u', parameter2:'v', parameter3:'w'},
{id:5,parameter1:'q', parameter2:'w', parameter3:'e'}
];
function joinObjects() {
var idMap = {};
// Iterate over arguments
for(var i = 0; i < arguments.length; i++) {
// Iterate over individual argument arrays (aka json1, json2)
for(var j = 0; j < arguments[i].length; j++) {
var currentID = arguments[i][j]['id'];
if(!idMap[currentID]) {
idMap[currentID] = {};
}
// Iterate over properties of objects in arrays (aka id, name, etc.)
for(key in arguments[i][j]) {
idMap[currentID][key] = arguments[i][j][key];
}
}
}
// push properties of idMap into an array
var newArray = [];
for(property in idMap) {
newArray.push(idMap[property]);
}
return newArray;
}
var json3 = joinObjects(json1, json2);
这是一个工作中的codepen。
问题内容: 我使用此javascript捕获flexigrid中选中的所有复选框,然后尝试将此行ID数组发送到CFC 低于CFC 当我尝试运行此函数时,我的服务器回答说,传递给removeCertidaoCRC函数的NUMSEQCERTIDAO参数不是数组类型。 我最近刚进入的一个延迟项目中的所有选项都用光了。 问题答案: jQuery可以很好地将数组分开发送,但是ColdFusion不能很好地处
问题内容: 我想知道是否可以在POST请求中直接发送一个数组(未包装在字典中)。显然,该参数应获取以下内容的映射:[String:AnyObject]?但我希望能够发送以下示例json: 问题答案: 您可以使用JSON进行编码,然后自行构建。例如,在Swift 3中:
问题内容: 我正在尝试将JSON解组到结构中,但是事实证明这很困难,因为外部JSON密钥发生了变化,而我才在一周前才开始使用。这是我的手动尝试: 有没有一种方法可以忽略键并遍历值,从而允许我使用json.Unmarshal(b,&Device)? 问题答案: 您有一系列JSON对象, 将 一个唯一的ID 映射 到每个。将其解组为 https://play.golang.org/p/JDZzG64j
问题内容: 我有两个像 我希望它们合并成单个数组 问题答案: 您需要该方法。
问题内容: 我在处理JavaScript中的JSON数据时遇到问题,特别是在将数据用作数组以及访问和迭代各个值方面。JSON文件的结构如下: 我希望能够将其转换为如下所示的JavaScript数组,以便可以迭代它并按顺序提取每个位置的值: 有人对如何实现这一目标有任何建议吗?我已经尝试了以下方法,但是它在JSON中选择了“类型”,而不仅仅是值: 任何帮助,建议,建议或更正将不胜感激。 问题答案:
问题内容: 我有一个基于jquery的单页webapp。它通过AJAX调用与RESTful Web服务进行通信。 我正在尝试完成以下任务: 将包含JSON数据的POST提交到REST URL。 如果请求指定JSON响应,则返回JSON。 如果请求指定PDF / XLS / etc响应,则返回可下载的二进制文件。 我现在有1&2,并且客户端jquery应用通过基于JSON数据创建DOM元素在网页上显