我正在尝试使用javascript遍历JSON对象。它是一个对象而不是一个数组的原因是因为使用XAMARIN访问相同的数据,并且C#的NewtonJSON更好地使用 just JSON对象而不是对象和数组的混合。
下面是我正在尝试使用的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
的键和值。当我尝试循环遍历data
时,我得到了CODE
,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:test1@test.co.uk
key:phone, val:null
key:isAdmin, val:true
这是完全错误的!
我不知道我还能做什么,我试过使用jQuery的$.each
,我没有使用新的let[key, value]
,因为它太新了。
以下是chrome预览选项卡中的JSON图片(减去一些敏感数据):
1条答案
按热度按时间z9zf31ra1#
您可以通过jQuery中的
$.each
来实现,如下所示如果你想从javascript访问它,你可以在
data.VALUE.USER24
对象中获取每个键。