我正在检索一个 JSON 对象数组,然后使用 JS split将一个属性的内容放入一个子数组中,用于解析需求。
但我不确定如何将子属性名称添加到为该属性新建的数组。
所以现在当我使用以下方法对属性进行拆分时:
for (var i = 0; i < recordsets[0].length; i++){
recordsets[0][i].Chart_Name = recordsets[0][i].Chart_Name.split(',');
}
我得到以下输出:
"Chart_Name":[
"Criticality",
" Status"
],
但我的目标是为每个数组值添加一个属性名称,例如:
"Chart_Name":[
{name: "Criticality"},
{name: "Status"}
],
问题:
如何将 Json 字符串拆分为子属性数组?
这是上下文的 JSON 数组的要点:
[
[
{
"Dashboard_Name":"my dashboard",
"Chart_Name":[
"Criticality",
" Status"
]
}
]
]
最佳答案
你可以使用 Array#map
并返回一个对象。
for (var i = 0; i < recordsets[0].length; i++){
recordsets[0][i].Chart_Name = recordsets[0][i].Chart_Name.split(',').map(function (a) {
return { name: a };
});
}
或者把整个重写得更短一些
recordsets[0].forEach(function (a) {
a.Chart_Name = a.Chart_Name.split(',').map(function (b) {
return { name: b };
});
});
不使用 split
发布编辑建议
for (var i = 0; i < recordsets[0].length; i++){
recordsets[0][i].Chart_Name = recordsets[0][i].Chart_Name.map(function (a) {
return { name: a };
});
}
或者把整个重写得更短一些
recordsets[0].forEach(function (a) {
a.Chart_Name = a.Chart_Name.map(function (b) {
return { name: b };
});
});
关于javascript - 如何拆分添加子属性名称的 JSON 属性值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40547071/