2017-10-19 176 views
2

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

+0

使用方括号这样'数据= JSON [陪审团[I];' –

+0

我知道什么是错,现在@ gurvinder372解释吧! – Sylent

回答

3

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