任何人都可以帮助我不能为我的生活理解为什么我不能让以下工作,我只是想从以下json中检索一个值:
{
"entities": [
{
"id": "84",
"name": "jonathan",
"date": "2009-12-12",
"startTime": "T16:31:04",
"endTime": "T16:31:04",
"room": "Room1"
},
{
"id": "87",
"name": "jonathan",
"date": "2011-12-12",
"startTime": "T16:44:03",
"endTime": "T16:44:03",
"room": "Room1"
},
{
"id": "90",
"name": "jonathan",
"date": "2011-12-12",
"startTime": "T10:18:38",
"endTime": "T10:18:38",
"room": "Room1"
}
]
}
我已经完成了这一千次,但无法访问任何值,尝试了以下各种变体:
console.log(data.entities[0].id);
请注意我正在从dojo ajax调用中检索JSON我能够将整个json输出到console
,所以这不是错误。
当然,我正在做一些愚蠢的男生错误帮助!
答案 0 :(得分:0)
似乎对我有用:http://jsfiddle.net/77W58/
data
变量必定存在问题。这绝对叫做data
吗?它在范围内吗?它是字符串而不是JSON吗?显而易见,但有时这是最简单的事情。
答案 1 :(得分:0)
你的ajax请求是什么样的?如果您没有属性handleAs:'json',则响应将以文本形式返回。在这种情况下,如果您使用console.log响应,您将看到响应,但不会将其键入为对象。
dojo.xhrPost({
url: '/something',
handleAs: 'json',
load: function(data){
//this should show up as an Object in the console
console.log(data);
}
});
Vs的
dojo.xhrPost({
url: '/something',
//optional, defaults to this property
handleAs: 'text',
load: function(data){
//this should show up as a string in the console
console.log(data);
}
});