Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/470.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 获取和使用JSON对象键名_Javascript_Arrays_Json - Fatal编程技术网

Javascript 获取和使用JSON对象键名

Javascript 获取和使用JSON对象键名,javascript,arrays,json,Javascript,Arrays,Json,我有一堆json文件需要读取并保存为文本文件。问题在于每个json文件中的密钥名称不同。我见过使用函数Object.keys来获取密钥名称,但是,例如,在这样的文件中: { "mainKey1" : [ { "subKey1" : "Value 1", "subKey2" : "Value 2", "subKey3" : "Value

我有一堆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

提前谢谢

 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]);
         }
     }
 }
运行示例-

这将打印上述对象的所有值

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]);
         }
     }
 }

运行示例-

您可以使用Object.keysobj获取密钥:

var obj={mainKey1: [ { 子键1:值1, 子键2:值2, 子键3:值3 }, { 子键1:值1, 子键2:值2, 子键3:值3 } ] } var keys=Object.keysobj; 控制台日志键[0]; var subkeys=Object.keysobj[keys[0]][0]; console.logsubkey; console.logsubkey[0];
console.logobj[key[0]][0][subkey[0]] 可以使用Object.keysobj获取关键点:

var obj={mainKey1: [ { 子键1:值1, 子键2:值2, 子键3:值3 }, { 子键1:值1, 子键2:值2, 子键3:值3 } ] } var keys=Object.keysobj; 控制台日志键[0]; var subkeys=Object.keysobj[keys[0]][0]; console.logsubkey; console.logsubkey[0];
console.logobj[key[0]][0][subkey[0]];为什么不使用JSON.parse?您的问题是否包括读取和写入JSON文件?或者只是关于获取对象键/值的一点?为什么不使用JSON.parse?您的问题是否包括读取和写入JSON文件?或者只是关于获取对象键/值的一点?非常感谢,ChrisD。这真的帮助了我。一段时间以来,我一直在想这件事,这是迄今为止最好的例证。非常感谢。非常感谢,克里斯。这真的帮助了我。一段时间以来,我一直在想这件事,这是迄今为止最好的例证。非常感谢。谢谢阿文德;非常有用的例子。我已经为JSON苦苦挣扎了很长一段时间了,我只需要掌握一下键和其他东西;非常有用的例子。我已经为JSON奋斗了很长一段时间了,我只需要掌握一些键和其他东西。