我有一个对象数组如下。
Array[0-2]
0: Object
Name: 'Rick'
City: 'Sunnyvale'
FactorJSONMap: "{"Id":"234","Country":"USA"}"
1: Object
Name: 'Diana'
City: 'Santa Clara'
FactorJSONMap: "{"Id":"124","Country":"USA"}"
2: Object
Name: 'Thiago'
City: 'New Jeresy'
FactorJSONMap: "{"Id":"673","Country":"USA"}"
我能够遍历元素' Name'和' City'正常。 但是有一个元素“因子JSONMap”'。这来自数据库。我一般都无法循环。
有人可以告诉我是否有办法将上述数据格式转换为以下格式。
请注意。 FactorJSONMap是动态的,可以有不同的元素。在这里它有' Id'和' City'目前。它可以拥有“城市”和“城市”。和'性'
有没有办法可以提取上面的数据并转换成这个简单的对象数组。
Array[0-2]
0: Object
Name: 'Rick'
City: 'Sunnyvale'
Id: '234'
Country:'USA'
1: Object
Name: 'Diana'
City: 'Santa Clara'
Id: '124'
Country:'USA'
2: Object
Name: 'Thiago'
City: 'New Jeresy'
Id: '673'
Country:'USA'
答案 0 :(得分:1)
您可以简单地使用JSON对象的parse方法将FactorJSONMap中的数据转换为对象格式,然后将其分配给数组中的父对象。一旦您遍历数组中的所有对象,返回的对象数组将在第一级中列出所有嵌套属性。
https://jsfiddle.net/4h72h6b8/3/
function traverseData(data) {
for(let data_obj of data) {
Object.assign(data_obj, JSON.parse(data_obj.FactorJSONMap));
delete data_obj.FactorJSONMap;
}
return data;
};
在示例中,您将在控制台日志中看到结果。