我是Json对象和Json数组的新手。我想访问Json对象中的嵌套对象,但是我发现了一个小错误,我浪费了我的2小时搜索也读了很多stackoverflow的问题,但我无法找到我在哪里发生错误。请帮帮我
响应
{ __v: 0,
friends_in:
[ { friends_in_email: '12',
friends_in_gcm_regId: '12'
} ]
}
我的代码
console.log(JSON.stringify(doc));
输出:
{
"__v": " 0",
"friends_in": [
{
"friends_in_email": "12",
"friends_in_gcm_regId": "12"
}
]
}
这是错误生成说未定义
mycode的
console.log(JSON.stringify(doc[0].__v));
console.log(JSON.stringify(doc[0].friends_in));
输出
0 //Correct
undefined //Why ?
答案 0 :(得分:0)
你的字符串化JSON中有一些错误(可能是一些错误的粘贴?)。但是使用下面的JSON,一切都按预期工作。
var rawString = '{ "__v":" 0", "friends_in": [{ "friends_in_email": "12", "friends_in_gcm_regId": "12"}] }';
var x = JSON.parse(rawString);
console.log(JSON.stringify(x.__v));
console.log(JSON.stringify(x.friends_in));
以上结果如下:
0
[{"friends_in_email":"12","friends_in_gcm_regId":"12"}]
你似乎混淆了JSON对象(花括号{...}中的东西)和JSON数组(方括号中的东西[...])。只应将JSON数组编入索引:
var y = [22, 24, 28];
y[0] // do something with it ...
对象应按名称访问其成员:
var z = { test: 22, another_number: 24 };
z.test // do something with it ...