Javascript jQuery访问JSON对象?
我从Javascript jQuery访问JSON对象?,javascript,jquery,json,Javascript,Jquery,Json,我从$.ajax({POST….. [{"total_votes":1,"options":[{"id":40,"vote_count":0,"users":[]},{"id":41,"vote_count":1,"users":[{"photo":"xxxxxxxxxxx.png","name":"XXXXX,"id":1}]},{"id":42,"vote_count":0,"users":[]}]}] 因此,我尝试通过以下方式获得总票数: success: function(e)
$.ajax({POST…..
[{"total_votes":1,"options":[{"id":40,"vote_count":0,"users":[]},{"id":41,"vote_count":1,"users":[{"photo":"xxxxxxxxxxx.png","name":"XXXXX,"id":1}]},{"id":42,"vote_count":0,"users":[]}]}]
因此,我尝试通过以下方式获得总票数:
success: function(e) {
console.log(e['total_votes'])
}
也试着得到
console.log( e['options'].length() )
console.log( e['options'][0]['id'] )
关于我为什么一直未定义的建议?还有没有更好的方法循环选择
谢谢您的根对象是一个数组,因此您需要执行类似于
e[0]['total_voces']
的操作。此外,数组的长度不是函数,而是属性,因此您需要执行e[0]。选项。长度
或e[0]['options'].length
在解除对JSON对象的引用之前,需要调用JSON.parse它将是e[0]。根据示例JSON响应(它在一个数组中),total_votes
。使用格式化的ur JSON对它们进行循环,这样,您可以得到如下“total_votes”值
success: function(e) {
console.log(e[0].total_votes);
}
[
{
"total_votes": 1,
"options": [
{
"id": 40,
"vote_count": 0,
"users": []
},
{
"id": 41,
"vote_count": 1,
"users": [
{
"photo": "xxxxxxxxxxx.png",
"name": "XXXXX",
"id": 1
}
]
},
{
"id": 42,
"vote_count": 0,
"users": [
{}
]
}
]
}
]
签出@AnApprentice:在解析JSON时有效:。解析它或设置
数据类型:“JSON”
。数据被解析为JSON还是字符串?如果在选项部分设置数据类型:“JSON”(请参阅)@AnApprentice:是否确保将数据类型定义为“JSON”
?您从$.ajax()
方法中排除了一些重要的细节。您是否将数据类型:
属性设置为'json'
?如果不是,它是否从服务器发送并带有正确的头?@AnApprentce,我认为您的json格式不正确。您可能需要在firefox中使用firbugs检查返回的类型。