0

我想访问 json 数组中的最里面的值。我使用 ajax 调用获得的这个 json 数据。

以下是我从服务器获取的 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];

但它不起作用

4

1 回答 1

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:它是不完整的,'而不是".

于 2013-04-04T12:18:29.780 回答