javascript - 获取和使用 JSON 对象键名

标签 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"
            }
        ]
    }   

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

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

提前致谢!

最佳答案

您可以使用 Object.keys(obj) 来获取 key :

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 循环中以遍历每个可用的键/子键,您就可以获得所需的信息。

关于javascript - 获取和使用 JSON 对象键名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44096494/

相关文章:

javascript - $ function 在普通(无库)JS 中意味着什么?

javascript - 在javascript中迭代Json对象

php - Flash/Actionscript 是 css 和 javascript 的替代品吗?

javascript - 使用 Viewbag 数据创建 Javascript 对象

json - 从 json session 返回值以在 session 外使用

javascript - double if 语句 javascript 的更简单替代方法

python - 替换字符串列表中的子字符串

java - 查找数组中第二大偶数整数的有效方法

javascript - Shopify 在感谢页面上访问带有其 ID 的产品,而无需在 url 中使用 '/admin'

ajax - jQuery AJAX 请求在 IE8 中失败,并显示消息 'Error: This method cannot be called until the open method has been called.'