从json对象访问内部元素

时间:2013-04-04 12:16:19

标签: jquery json

我想在json数组中访问最内层的值。这个json数据我使用ajax调用。

以下是我从服务器获取的json数据:

{
"meta": {
    "limit": 20,
    "next": null,
    "offset": 0,
    "previous": null,
    "total_count": 7
},
"objects": [
    {
        "id": 2,
        "other": "{}",
        "name": "gmail"
    },
    {
        "id": 3,
        "other": "{'userinfo': [{ 'user1': { 'user_name':'nancy','address': [], 'outfields': ['login', 'url','type','id']}},{ 'createissue': { 'type':'post','infields': ['owner','repo','title','body'], 'outfields': []}}",
        "name": "yahoo"
    }
]

}

现在我在这里想要使用jquery的user_name的值。怎么弄明白?请有人帮忙 我

我试过这样: -

   user=rows.objects[i].other.userinfo[0];

但它不起作用

1 个答案:

答案 0 :(得分:2)

问题在于rows.objects[i].other未被解析,它仍然是JSON。

你应该做

var obj = JSON.parse(rows.objects[i].other);
var info = obj.userinfo ? obj.userinfo[0] : undefined;

但是如果你是生成JSON的人,你可能想修复这一代:你不应该在JSON中嵌入JSON。

编辑:rows.objects[i].other甚至不是有效的JSON:它不完整,而且'代替"