没有数组的json内部对象

时间:2013-05-03 19:49:27

标签: json children discover

我已经找到了一个解决方案,但一直在努力。我有以下json:

{
   "objects" : 
   {
      "a" : 
      {
         "a1" : { "value1" : "1" }
         "a2" : { "value2" : "2" }
      }, 
      "b" :
      {
         "b1" : { "value1" : "1" }
         "b2" : { "value2" : "2" }
      }
   }
}

所以(假设这在var jsonObject中表示)如果我知道所有的对象名,那么从a1获取value1将是:

jsonObject.objects.a.a1.value1

我遇到的问题是我不知道内部对象的名称。它可能是

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

我会说这是形成不良的JSON数据,对象应该是一个数组。但是我只能用我所处理的那只手来玩。所以我的问题是,如果我不知道内部对象的名称,有没有办法“发现”它们或引用它们?是否有.child(n)方法或某些方法会给我第n个孩子?

1 个答案:

答案 0 :(得分:1)

你需要使用for in循环

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