2016-08-14 4 views
0

Ich versuche, die Werte der Zahlen in einem Array eines JSON-Objekts zu holen.Holen Index der Array innerhalb JSON-Objekt auf Javascript

Hier ist, wie das JSON-Objekt sieht aus wie

{ 
    "item[]": [ 
      "1", 
      "2", 
      "3", 
      "4", 
      "5", 
      "6", 
      "8", 
      "7", 
      "9", 
      "10", 
      "11", 
      "12" 
    ] 
} 

Dieses Objekt aus einem jquery serialize kommt. Ich habe versucht,

var obj = req.body; 
obj.length //Returns undefined 

obj.item ///Return undefined 

obj.item[] //Program crashes 

Ich brauche den Wert zuzugreifen, damit ich es so etwas wie aussehen kann:

Wie ich dies durch Looping in Javascript erreichen kann?

+5

'obj [ 'item []'] length' –

+0

' var obj = req.body;. 'Wenn dieser Code auf dem Knoten-Server ist, dann tun Sie' app.use (bodyParser.json()) 'auf Knoten? –

+0

JSON ist eine * textuelle Notation * für den Datenaustausch. [(Mehr)] (http://stackoverflow.com/a/2904181/157247) Wenn Sie mit JavaScript-Quellcode arbeiten und sich nicht mit einem * string * befassen, haben Sie es nicht mit JSON zu tun. Wenn Sie sich * mit einem String beschäftigen, verwenden Sie 'JSON.parse', um ihn zu parsen. An diesem Punkt haben Sie es nicht mehr mit einem String zu tun. Aber da 'obj.length' nicht definiert ist, klingt es so, als ob es sich nicht um eine Zeichenkette handelt. –

Antwort

4

Sie sollten die Klammernotation obj['item[]'] anstelle der Punktnotation verwenden und dann können Sie die forEach Schleife verwenden, um jedes Arrayelement zu erhalten.

var obj = {"item[]":["1","2","3","4","5","6","8","7","9","10","11","12"]} 
 

 
obj['item[]'].forEach(function(e, i) { 
 
    console.log('Index ' + i + ' = ' + e); 
 
})

Verwandte Themen