我想同时为多个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”:[ “NAME1”, “NAME2” “NAME3” ] “jury2”:[ “NAME1”, “NAME2” “NAME3” ] } 这给了我一个错误:
data = json.jurys[i];
^
TypeError:无法读取未定义的属性“1”
之前我没有使用过JSON,我不知道如何从这些对象中获取所有值。有人能告诉我我做错了什么吗?感谢您的时间和帮助!
答案 0 :(得分:3)
TypeError:无法读取未定义的属性“1”
您的json
没有jury
属性。
因此,json.jury
会返回undefined
,从而返回错误。
成功
for(i=0; i<jury.length; i++)
{
data = json[jury[i]]; //notice the change here
console.log(data);
}