获取和使用 JSON 对象键名

iSo*_*fia 1 javascript arrays json

我有一堆 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"
            }
        ]
    }   
Run Code Online (Sandbox Code Playgroud)

我如何获得名称“mainKey1”、“mainKey2”等,以及“subKey1”、subKey2”等名称。

最后,在获得这些键名后,我如何使用它们来读取对应的“Value1”、“Value2”、“Value3”。

提前致谢!

小智 5

您可以使用 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]]);
Run Code Online (Sandbox Code Playgroud)

只需将其放入 foreach 循环以遍历每个可用的键/子键,您就可以获得所需的信息。