2
我只需要将多维JSON切换到单个,以提供它为js插件创建表。多维JSON到单个的
这里有响应的例子:
[
{
"services": [],
"id": 1,
},
{
"services": [
{
"status": {
...
},
"name": "NAME"
},
{
"status": {
...
},
"name": "NAME 2"
}
],
"id": 2
}
]
我找什么:
[
{
"services": [],
"id": 1,
},
{
"service": {name: 'NAME', status: '' ...},
"id": 2,
},
{
"service": {name: 'NAME 2', status: '' ...},
"id": 2,
}
...
]
的想法是创建具有相同ID的条目的新阵,只有一个服务。
这里有一个循环:
function parseData(json) {
var newArray = [];
for (i = 0; i < json.length; i++){
var item = json[i];
if (item.services.length > 0) {
for (j = 0; j < item.services.length; j++){
item['service'] = item.services[j];
newArray.push(item);
}
}
else {
newArray.push(item);
}
}
return newArray;
}
最后,而不是用不同的单服务进入两个对象我得到两个对象具有相同的“服务”项。这个循环有什么问题?
这里的jsfiddle:https://jsfiddle.net/ghea33x1/
谢谢。
好,看起来不错,但如果JSON响应包含什么对象的属性未知数量?添加手动新属性推方法'{服务:b,id:a.id,new_property:'价值'}'我认为不是好主意。 – TheUser
然后您需要遍历这些属性或使用[Object.assign](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/assign) –
Nice,just added小修正https://jsfiddle.net/ghea33x1/1/ 救命恩,btw :) – TheUser