Es tut mir leid für die Besonderheit dieser Situation, aber ich kann mich einfach nicht mit dem Problem herumschlagen.So lesen Sie den Wert aus dem JSON-Objekt
Ich habe die folgende JSON-Datei erstellt:
{"characters":[
{"name":"battler", "sprites":
[{"img":"but_a11_aseru1.png","img":"but_a11_komaru1.png","img":"but_a21_majime1.png","img":"but_b11_majime1.png"}]
},
{"name":"eva", "sprites":
[{"img":"eva_a11_akire1.png","img":"eva_b11_majime1.png","img":"eva_b21_naku1.png","img":"eva_b22_warai1.png"}]
}
]}
Und ich bin versucht, es mit diesem Code zu laden, nur für die ersten „Sprites“ den Wert für „img“ Echo in jedem Eintrag für jetzt:
$.getJSON("./char.json", function(data) {
for (i = 0;i < data.characters.length;i++) {
alert(JSON.stringify(data.characters[i].sprites[0]));
}
});
zum Beispiel: ich versuche, es zu bekommen zurückzukehren „but_a11_aseru1.png“ für die erste Iteration der Schleife und „eva_a11_akire1.png“ für die zweiten.
Ich habe versucht data.characters[i].sprites[0]
, nur um einen Wert von {"img":"but_a11_aseru1.png"}
für die erste (und ähnliche für die zweite) zu erhalten. data.characters[i].sprites.img
erscheint als undefiniert. Ich könnte .split am ":" verwenden, aber ich möchte verstehen, wie man JSON richtig benutzt.
Kann jemand darauf hinweisen, was ich falsch mache? Vielen Dank.
Ach du meine Güte, vielen Dank! Ich dachte, etwas ähnliches zu versuchen, aber offensichtlich habe ich es komplett versäumt, es richtig zu schreiben, also habe ich einfach angenommen, dass es falsch ist. Du hast mir eine Menge Zeit erspart, es ist sehr geschätzt. – Kalavinka