2017-10-19 136 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