Я пытаюсь пропустить объект JSON с помощью javascript. Причина, по которой он является объектом, а не массивом, заключается в том, что доступ к тем же данным осуществляется с помощью XAMARIN и C# NewtonJSON работает лучше с только Объекты JSON вместо сочетания объектов и массивов.Невозможно выполнить цикл через объект JSON Javascript
Ниже представлен объект JSON, с которым я пытаюсь работать, я вырезал биты, чтобы вы могли видеть основную часть объекта, с которым у меня возникают проблемы.
CODE: NULL
VALUE:{
USER24:{id: "24", business: "25", username: "test1", firstName: "test1", lastName: "test1", level: "0",…}
USER25:{id: "25", business: "25", username: "test2", firstName: "test2", lastName: "test2", level: "0",…}
USER26:{id: "26", business: "25", username: "test3", firstName: "test3", lastName: "test3", level: "0",…}
USER27:{id: "27", business: "25", username: "test4", firstName: "test4", lastName: "test4",…}
USER28:{id: "28", business: "25", username: "test5", firstName: "test5", lastName: "test5",…}
USER29:{id: "29", business: "25", username: "test6", firstName: "test6", lastName: "test6", level: "0",…}
USER30:{id: "30", business: "25", username: "test7", firstName: "test7", lastName: "test7", level: "0",…}
}
EXTRA: NULL
Проблема у меня, когда я Переберите data.VALUE получить ключи и значения USER24 вместо ключей и значений data.VALUE. Когда я пытаюсь пройти через только данные Я получаю ключи КОД, VALUE, EXTRA, как и следовало ожидать.
Независимо от того, что я размещаю в цикле, я не получу ключи и значения USER24, USER25, USER26, ... Это то, что я хочу. Ниже я фрагмент из цикла Javascript Я использую:
for(var key in data.VALUE){
if(data.VALUE.hasOwnProperty(key)){
console.log('key:'+key+', val:'+data.VALUE[key]);
}
}
Все, что я вернусь из этого:
key:id, val:24
key:business, val:25
key:username, val:test1
key:firstName, val:test1
key:lastName, val:test1
key:level, val:0
key:email, val:[email protected]
key:phone, val:null
key:isAdmin, val:true
Что совершенно неправильно!
Я не уверен, что еще я должен сделать для этого, я попытался с помощью $ .each из JQuery, я не использовал новый пусть [ключ, значение], как это далеко на данный момент слишком новый, чтобы полагаться.
Если вам нужна дополнительная информация или фрагменты кода, можете задать вопрос! Спасибо за помощь!
Вот картину JSON на вкладке предварительного просмотра в хроме (минус некоторые конфиденциальные данные):
JSON не соответствует действительности, каков формат переменной 'data' в JavaScript? – UsainBloot
'console.log'' data.VALUE' перед циклом. Это возвращает объект, который вы ожидаете? –
'for (var key in data.VALUE)'. Вы получаете каждый ключ в data.VALUE, поэтому, конечно, вы не получите USER24, USER25 и т. Д. –