1

我一直在寻找解决方案,但一直不够努力。我有以下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 个孩子?

4

1 回答 1

1

你需要使用 for in 循环

for(var key in objects){
    if (objects.hasOwnProperty(key)){
       objects[key]; // ax7364 in first iteration
    }
}
于 2013-05-03T20:09:20.140 回答