从多个JSON对象获取值

时间:2017-10-19 10:15:51

标签: javascript arrays json node.js

我想同时为多个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,我不知道如何从这些对象中获取所有值。有人能告诉我我做错了什么吗?感谢您的时间和帮助!

1 个答案:

答案 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);
}