无法使用jQuery解析JSON

时间:2012-02-17 23:47:25

标签: jquery json

我可能很容易解决问题。我正在尝试使用jquery解析此JSON文件:

http://pastebin.com/c14G0mJ1

我的jQuery代码如下:

$.post("/xhr/fav_switch", {event_id: event_id}, function(data) {
    event = jQuery.parseJSON(data);
    alert(event.pk);
});

但无论我在警报中尝试访问哪个字段,它总是说undefined。你知道我做错了什么吗?任何帮助将不胜感激:)

2 个答案:

答案 0 :(得分:3)

$.post("/xhr/fav_switch", {event_id: event_id}, function(data) {
    var events = jQuery.parseJSON(data);
    var event = events[0];
    alert(event.pk);
});

你得到一个数组(有一个元素),所以event是一个数组。您需要获取数组的第一个元素才能获取事件对象本身。

答案 1 :(得分:1)

首先,您的数据是一个只包含一个元素的数组,因此您需要将其作为:

进行访问
event[0].pk
event[0].fields.updated
// etc

但jQuery ajax方法通常也会为你解析JSON,所以你可能会发现你可以说:

data[0].pk
data[0].fields.updated

没有需要使用event = jQuery.parseJSON(data)