从多个JSON对象获取值
问题描述:
我想在同一时间向多个JSON对象添加名称。从多个JSON对象获取值
我尝试这样做:
let jdata = fs.readFileSync('participants.json');
let json = JSON.parse(jdata);
jury = ["jury1", "jury2"];
for(i=1; i<3; i++){
data = json.jury[i];
console.log(data);
}
我的JSON文件: { “jury1”: “名称1”, “NAME2”, “NAME3” ], “jury2”: “NAME1”, “NAME2”, “NAME3” ] } 这给了我一个错误:
data = json.jurys[i];
^
类型错误:无法读取属性“1”的未定义
我没有使用JSON之前,我不知道如何让所有的值从这些对象。有人能告诉我我做错了什么吗?感谢您的时间和帮助!
答
TypeError: Cannot read property '1' of undefined
您json
没有jury
属性。
所以,json.jury
返回undefined
,因此你的错误。
让它
for(i=0; i<jury.length; i++)
{
data = json[jury[i]]; //notice the change here
console.log(data);
}
+0
非常感谢你,我编辑了循环,因此它可以同时获得两个对象,但它现在可以工作!不够感谢你! – Sylent
使用方括号这样'数据= JSON [陪审团[I];' –
我知道什么是错,现在@ gurvinder372解释吧! – Sylent