Javascript 如何将json结构更改为另一个json结构
我想改变我的json结构,我该怎么做 我得到的json看起来像这样:Javascript 如何将json结构更改为另一个json结构,javascript,json,html,angular,Javascript,Json,Html,Angular,我想改变我的json结构,我该怎么做 我得到的json看起来像这样: body: { "111111": { "name": "exp1", "status": 10000 }, "222222": { "name": "exp2", "status": 20000 }, "333333": { "name": "exp3", "stat
body: {
"111111": {
"name": "exp1",
"status": 10000
},
"222222": {
"name": "exp2",
"status": 20000
},
"333333": {
"name": "exp3",
"status": 30000
}
}
<div *ngIf="showingList">
<div class="list-bg" *ngFor="#bulk of listBulks | async">
ID: {{bulk.id}} name of item: {{bulk.name}}
</div>
</div>
但我需要它在这个结构中:
body: {
bulks: [{
"id": "111111",
"name": "exp1",
"status": 100000
}, {
"id": "222222",
"name": "exp2",
"status": 200000
}, {
"id": "333333",
"name": "exp3",
"status": 300000
}]
}
因为在我的html中,我想这样读:
body: {
"111111": {
"name": "exp1",
"status": 10000
},
"222222": {
"name": "exp2",
"status": 20000
},
"333333": {
"name": "exp3",
"status": 30000
}
}
<div *ngIf="showingList">
<div class="list-bg" *ngFor="#bulk of listBulks | async">
ID: {{bulk.id}} name of item: {{bulk.name}}
</div>
</div>
ID:{bulk.ID}项的名称:{{bulk.name}
使用对象#条目和带有扩展运算符的数组#映射
const data={body:{111111:{name:“exp1”,状态:1e4},2222222:{name:“exp2”,状态:2e4},333333:{name:“exp3”,状态:3e4}};
常量res={body:{bulk:Object
.条目(data.body)
.map(a=>({id:a[0],…a[1]}))};
控制台日志(res)代码>您可以使用reduce:
var body = {
"111111": {
"name": "exp1",
"status": 10000
},
"222222": {
"name": "exp2",
"status": 20000
},
"333333": {
"name": "exp3",
"status": 30000
}
}
var bodyArray = Object.keys(body).reduce(function(result, key) {
var item = body[key];
item.id = key;
result.push(item)
return result;
}, []);
作为reduce
的最简单替代方法,您可以使用map()
函数
const body={
"111111": {
“名称”:“exp1”,
“地位”:10000
},
"222222": {
“名称”:“exp2”,
“地位”:20 000
},
"333333": {
“名称”:“exp3”,
“地位”:30000
}
}
const newArray=Object.keys(body).map(function(key){
常量newObject={
id:钥匙,
…正文[键]
};
返回newObject;
});
log(newArray)代码>你试过什么?转换是简单的换行。您确定数据正确吗<代码>var listBulks={body:{bulks:[oldboylist]}代码>@Sukima您建议在哪里添加此转换?我没有尝试任何东西,但我不知道尝试什么…无论你把你的JavaScript放在哪里。你没有JavaScript吗?这是我能做的最好的了。也许其他使用Angular的人知道的更多。为什么要转换它?这是个好答案。只有一个指针,array.reduce
存在兼容性问题。别提了