Внутренние объекты 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
}
}