2012-02-23 27 views
24

ho bisogno di memorizzare 3 nomi di animali domestici in formato string, li analizzare in una matrice e poi leggere uno per unoJSON array JavaScript

Esempio

pets = '{{"name":"jack"},{"name":"john"},{name:"joe"}}'; 

var arr = JSON.parse(pets); 

alert(arr[0].name); 

Ma non funziona.

Inoltre, dovrei aggiungere la voce all'array (probabilmente con premere) ma ho anche problemi.

Qualcuno ha idea di come farlo?

risposta

57

Il JSON non è valido. Prova questo:

var pets = '{"pets":[{"name":"jack"},{"name":"john"},{"name":"joe"}]}'; 
var arr = JSON.parse(pets); 
alert(arr.pets[0].name); 
16

array JSON sono delimitate da parentesi quadre []

provare

pets = '[{"name":"jack"},{"name":"john"},{"name":"joe"}]'; 

anche ci si dimentica di usare "s 'l'ultimo nome della proprietà.

5

sì proprio cambiano a questa parentesi quadre controlla anche le doppie quotazioni sull'ultimo elemento

pets = '[{"name":"jack"},{"name":"john"},{"name":"joe"}]'; 

var arr = JSON.parse(pets); 

alert(arr[0].name); 
1
pets = '[{"name":"jack"},{"name":"john"},{"name":"joe"}]'; 

var arr = JSON.parse(pets); 

alert(arr[0].name); 
+2

Motivi e fornire una spiegazione con il tuo codice. le risposte al solo codice sono scoraggiate. – RedEyedMonster

11

Un semplice array di JSON (un array di stringhe) adatti la risposta:

["jack", "john", "joe"]; 

Mettere insieme come JavaScript:

var pets = '["jack", "john", "joe"]'; 
 
var arr = JSON.parse(pets); 
 
console.log(arr[0]);