我有以下 JSON,其中包含其他“部分”对象和“项目”的“部分”对象。从这个对象中,我需要提取“项目”字段名称(所有父部分及其名称属性的连接)及其值。这样做的有效方法是什么?
请注意,以下只是我的 json 的一部分。部分和项目的嵌套级别是无限的。我需要递归地做一些事情。
JSON:
{
"section": [
{
"fieldId": "t1",
"name": "section-1",
"section": [
{
"fieldId": "t-1",
"name": "section2",
"and": [
{
"fieldId": null,
"items": [
{
"fieldId": "c-2",
"name": "item1",
"value": "123"
},
{
"fieldId": "c-3",
"name": "item2",
"value": "dsadsaddsa"
}
]
}
],
"section": []
}
]
}
]
}
我开始写的Javascript(不完整,我卡住了):
function process(key,value) {
if (key == "section")
console.log(key + " : " + JSON.stringify(value[0]));
}
function traverse(o,func) {
for (var i in o) {
func.apply(this,[i,o[i]]);
if (typeof(o[i])=="object") {
traverse(o[i],func);
}
}
}
预期输出: 一个 javascript 对象
{"section1-section2-item1":123, "section1-section2-item2":"dsadsaddsa"}