gpt4 book ai didi

javascript - 将嵌套 JSON 转换为平面 JSON

转载 作者:行者123 更新时间:2023-11-28 13:08:40 25 4
gpt4 key购买 nike

我正在使用 javascript,并且我已经嵌套了从 mongodb 获取的 json 对象。

"abc": [
{
"a": "01AABCE2207R1Z5",
"b": "Y",
"c": [
{
"ca": "A",
"cb": "AflJufPlFStqKBZ",
"cc": "S008400"
},
{
"cx": "A",
"cy": "AflJufPlFStqKBZ",
"cz": "S008400"
}
]
},

{
"a": "01AABCE2207R1Z5",
"b": "Y",
"c": [
{
"ca": "A",
"cb": "AflJufPlFStqKBZ",
"cc": "S008400"
},
{
"cx": "A",
"cy": "AflJufPlFStqKBZ",
"cz": "S008400"
}
]
}
]

上述架构具有固定字段,架构不会发生变化。

现在我想将其作为平面 json 数组对象,结果应该是这样的。如果 c 有多个 json 对象,它应该创建一个具有相同 ab 值的新 json 对象

 [{
"a": "01AABCE2207R1Z5",
"b": "Y",
"ca": "A",
"cb": "AflJufPlFStqKBZ",
"cc": "S008400"
},
{
"a": "01AABCE2207R1Z5",
"b": "Y",
"cx": "A",
"cy": "AflJufPlFStqKBZ",
"cz": "S008400"
},
{
"a": "01AABCE2207R1Z5",
"b": "Y",
"ca": "A",
"cb": "AflJufPlFStqKBZ",
"cc": "S008400"
},
{
"a": "01AABCE2207R1Z5",
"b": "Y",
"cx": "A",
"cy": "AflJufPlFStqKBZ",
"cz": "S008400"
}
]

所以,我想知道如何快速简单地使其平坦。 请告知解决的过程和方法。

谢谢

最佳答案

这很容易做到。

var flatArray = [];
var flatObject = {};

for (var index = 0; index < data.length; index++) {
for (var prop in data[index]) {

var value = data[index][prop];

if (Array.isArray(value)) {
for (var i = 0; i < value.length; i++) {
for (var inProp in value[i]) {
flatObject[inProp] = value[i][inProp];
}
}
}else{
flatObject[prop] = value;
}
}
flatArray.push(flatObject);
}

console.log(flatArray);

data 是你的数组。

关于javascript - 将嵌套 JSON 转换为平面 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44648663/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com