2017-10-19 8 views
2

Ich möchte mehrere JSON-Objekte gleichzeitig Namen hinzufügen.Abrufen von Werten aus mehreren JSON-Objekten

Ich versuchte dies:

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

Meine JSON-Datei: { "jury1": [ "name1", "name2", "name3" ], "jury2": [ "name1", "name2", "name3" ] } Dies gibt mir eine Fehlermeldung:

  data = json.jurys[i]; 
          ^

Typeerror: kann nicht lesen Eigenschaft ‚1‘ undefinierten

Ich habe JSON nicht vorher benutzt und ich bin nicht sicher, wie alle Werte von diesen Objekten zu erhalten. Könnte mir jemand sagen, was ich falsch mache? Danke für deine Zeit und Hilfe schon!

+0

Verwenden eckigen Klammern wie diese 'data = json [Jury [i]];' –

+0

Ich weiß, was falsch ist jetzt @ gurvinder372 erklärt! – Sylent

Antwort

3

TypeError: Cannot read property '1' of undefined

Ihr json hat kein jury Attribut.

Also, json.jury gibt undefined zurück und daher Ihr Fehler.

Machen Sie es

for(i=0; i<jury.length; i++) 
{ 
    data = json[jury[i]]; //notice the change here 
    console.log(data); 
} 
+0

Vielen Dank, ich habe die Schleife bearbeitet, so dass es beide Objekte bekommt, aber es funktioniert jetzt! Ich kann dir nicht genug danken! – Sylent

Verwandte Themen