Внутренние объекты JSON без массива

Я искал решение, но продолжаю терпеть неудачу. У меня есть следующий JSON:

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

Поэтому (при условии, что это представлено в переменной jsonObject), если я знаю все имена объектов, получение значения1 из a1 будет:

jsonObject.objects.a.a1.value1

Проблема, с которой я сталкиваюсь, заключается в том, что я не знаю имен внутренних объектов. Возможно

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

Я бы сказал, что это плохо сформированные данные JSON, и что объекты должны быть массивом. Но я могу играть только с той рукой, с которой имею дело. Итак, мой вопрос: если я не знаю имя внутренних объектов, есть ли способ "открыть" их или ссылаться на них? Есть ли метод.child (n) или такой, который даст мне nth child?

1 ответ

Решение

Вам нужно использовать для в цикле

for(var key in objects){
    if (objects.hasOwnProperty(key)){
       objects[key]; // ax7364 in first iteration
    }
}
Другие вопросы по тегам