2017-01-05 7 views
0

Also eine zweiteilige Frage, weil ich das erste Problem nicht lösen kann, und die Hacky-Arbeit scheint nicht zu funktionieren.Dumme Fragen, Iteration über JSON

Ich habe ein JSON-Objekt, und innerhalb dieses Objekts ist ein verschachteltes Objekt. Ich möchte etwas in einem tiefen Layer-Array manipulieren.

Also um zu beginnen, muss ich lernen, über Schlüssel in einem Objekt zu iterieren, aber ich kann nicht sehen, wie Sie es tun.

Angenommen, ich habe ein Objekt mit Objekten darin, wie kann ich über diese Objekte iterieren? Wenn es ein Array wäre, würde ich

for (i = 0; i < arrayLength; i++) 
    {console.log(array[i])} 

tun aber, weil sie Worte sind, kann ich nicht nur i ++, so habe ich eine Reihe von Wörtern, wollte dann wie oben das gleiche tun, aber

for (i = 0; i < arrayLength; i++) 
    {console.log(jsonObject.array[i]} 

, aber das scheint nicht zu funktionieren, ich bekomme nur undefined zurückgegeben.

Entschuldigung für die schlechte Erklärung.

+2

was wie macht Ihr Objekt aussehen? – Alex

+0

https://global.api.pvp.net/api/lol/static-data/euw/v1.2/champion\?champData\=skins\&api_key\=RGAPI-a9b9e9ab-943d-4d59-b041-c22663d53b4b zu Genauer gesagt, ich habe diese beiden Threads seit ungefähr 2 Stunden angesehen, der spätere Link gibt einzelne Zeichen in meinem Terminal zurück, der erste sieht einfach wie eine Frage aus? –

+0

Keine Frage ist "dumm" ... "Ein weiser Mann kann mehr von einer dummen Frage lernen, als ein Narr von einer weisen Antwort lernen kann." - Bruce Lee – BrunoLM

Antwort

0

Es gibt eine Methode, um die Schlüssel zu bekommen, und dann können Sie mit diesen iterieren.

var keys = Object.keys(obj); 

for(i = 0 ; i < keys.length; i++){ 
    var result = obj[keys[i]]; 
    console.log(result); 
} 

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/keys

+0

Also wäre das 'für (Object.keys (myObject)) {console.log (* was geht hier? *)}' –

+0

aktualisiert. Siehe Antwort und sag mir, ob das funktioniert. – applecrusher

+0

Wow, ich habe am Anfang der Zeile, wo du die Schlüssel geschrieben hast, eine 'Var' vergessen. Ich bin so dumm, versuche Probleme zu lösen, die es nicht gibt. –

0

Sie ITERATE mit für (Schlüssel in obj) {...} Syntax.

Wie in:

var t = document.getElementById('myTextField'); 
var obj = {name:'John',last:'Doe'}; 
var result = ''; 
for (key in obj) { 
     result += key + '=' + obj[key] + ','; 
}