我想在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];
但它不起作用
答案 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:它不完整,而且'
代替"
。