我有一堆json文件,我需要阅读并保存为文本文件。问题是每个json文件中的键名称不同。我已经看到使用Object.keys函数来获取键名,但是,例如,在这样的文件中:
{
"mainKey1" :
[
{
"subKey1" : "Value 1",
"subKey2" : "Value 2",
"subKey3" : "Value 3"
},
{
"subKey1" : "Value 1",
"subKey2" : "Value 2",
"subKey3" : "Value 3"
}
],
"mainKey2" :
[
{
"subKey1" : "Value 1",
"subKey2" : "Value 2",
"subKey3" : "Value 3"
},
{
"subKey1" : "Value 1",
"subKey2" : "Value 2",
"subKey3" : "Value 3"
}
]
}
我怎样才能获得名称" mainKey1"," mainKey2"等等,以及" subKey1",subKey2"等等
最后,在获得这些关键名称后,我怎样才能使用它们来阅读相应的" Value1"," Value2"," Value3"。
提前致谢!
答案 0 :(得分:1)
var obj = {
"mainKey1": [{
"subKey1": "Value 1",
"subKey2": "Value 2",
"subKey3": "Value 3"
},
{
"subKey1": "Value 1",
"subKey2": "Value 2",
"subKey3": "Value 3"
}
],
"mainKey2": [{
"subKey1": "Value 1",
"subKey2": "Value 2",
"subKey3": "Value 3"
},
{
"subKey1": "Value 1",
"subKey2": "Value 2",
"subKey3": "Value 3"
}
]
};
这将打印上述对象的所有值。
for (var key in obj) {
var innerArray = obj[key];
for (var arrayKey in innerArray) {
var innerObj = innerArray[arrayKey]
for (var innerKey in innerObj) {
console.log(innerKey,innerObj[innerKey]);
}
}
}
答案 1 :(得分:1)
您可以使用Object.keys(obj)来获取密钥:
var obj = {"mainKey1" :
[
{
"subKey1" : "Value 1",
"subKey2" : "Value 2",
"subKey3" : "Value 3"
},
{
"subKey1" : "Value 1",
"subKey2" : "Value 2",
"subKey3" : "Value 3"
}
]
}
var keys = Object.keys(obj);
console.log(keys[0]);
var subkeys = Object.keys(obj[keys[0]][0]);
console.log(subkeys);
console.log(subkeys[0]);
console.log(obj[keys[0]][0][subkeys[0]]);
只需将其放入foreach循环中即可浏览每个可用的键/子键,您就可以获得所需的信息。