Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.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
不带数组的json内部对象_Json_Children_Discover - Fatal编程技术网

不带数组的json内部对象

不带数组的json内部对象,json,children,discover,Json,Children,Discover,我一直在寻找解决办法,但总是找不到。我有以下json: { "objects" : { "a" : { "a1" : { "value1" : "1" } "a2" : { "value2" : "2" } }, "b" : { "b1" : { "value1" : "1" } "b2" : { "value2" : "2" } }

我一直在寻找解决办法,但总是找不到。我有以下json:

{
   "objects" : 
   {
      "a" : 
      {
         "a1" : { "value1" : "1" }
         "a2" : { "value2" : "2" }
      }, 
      "b" :
      {
         "b1" : { "value1" : "1" }
         "b2" : { "value2" : "2" }
      }
   }
}
因此(假设这在var jsonObject中表示)如果我知道所有对象名,那么从a1获取值1将是:

jsonObject.objects.a.a1.value1
我遇到的问题是我不知道内部对象的名称。可能是

{
   "objects" : 
   {
      "ax7634" : 
      {
         "a1" : { "value1" : "1" }
         "a2" : { "value2" : "2" }
      }, 
      "b78tgf" :
      {
         "b1" : { "value1" : "1" }
         "b2" : { "value2" : "2" }
      }
   }
}

我要说的是,这是格式不良的JSON数据,对象应该是一个数组。但我只能用手中的牌来玩。所以我的问题是,如果我不知道内部对象的名称,有没有办法“发现”它们或引用它们?是否有.child(n)方法或类似的方法可以给我第n个child?

您需要使用for-in循环

for(var key in objects){
    if (objects.hasOwnProperty(key)){
       objects[key]; // ax7364 in first iteration
    }
}

您需要使用for-in循环

for(var key in objects){
    if (objects.hasOwnProperty(key)){
       objects[key]; // ax7364 in first iteration
    }
}

这是java吗?然后给它贴上标签。钥匙的顺序没有保证,所以你必须得到所有的钥匙,对它们进行排序,然后得到
n
第1个。是的,我不介意它们的顺序;如果我可以访问它们,那么我可以对它们进行排序。我不知道如何访问它们,因为我不知道它们的名字,而且它们不在数组中。这是java吗?然后给它贴上标签。钥匙的顺序没有保证,所以你必须得到所有的钥匙,对它们进行排序,然后得到
n
第1个。是的,我不介意它们的顺序;如果我可以访问它们,那么我可以对它们进行排序。我就是不知道如何访问它们,因为我不知道它们的名字,它们也不在数组中。