在javascript中访问级联JSON

时间:2012-10-01 21:06:43

标签: javascript jquery json backbone.js cascading

如果我有以下JSON对象,如何使用JavaScript访问survey.id(例如1)?我正在使用Backbone / json.stringify / object.parse

[{
    "class": "org.example.UserBooking",
    "id": 1,
    "booking": {
        "class": "Booking",
        "id": 1
    },
    "profile": {
        "class": "Profile",
        "id": 3
    },
    "survey": {
        "class": "Survey",
        "id": 1
    },
    "tslot": {
        "class": "TimeSlot",
        "id": 5
    }
}]

...

我无法弄清楚如何在级联中访问此“调查”ID。如果我想访问“id”,例如我这样做:

var obj = $.parseJSON(JSON.stringify(userbooking));

alert(obj.id);

感谢


感谢您的回复。当我尝试以下行时:

var obj = JSON.parse(JSON.stringify(userbooking)); 警报(obj.Survey.id);

我收到以下错误:

未捕获的TypeError:无法读取未定义的属性“id” -

2 个答案:

答案 0 :(得分:3)

尝试像这样访问调查中的内容

 obj[0].survery.id

当前上下文中的json数据如下所示

[{}] ..

所以这是一个对象数组,因为它是我们试图访问的第一个对象..

它应该是 obj [0]。而不仅仅是 obj。

CHECK DEMO

答案 1 :(得分:0)

不要使用jQuery,只需使用JSON.parse()即可。然后,使用obj.survey.id获取它。

var obj = JSON.parse(userbookingstring);
alert(obj[0].survey.id);