2012-02-23 19 views
24

necesito para almacenar 3 nombres de mascotas en string formato, analizarlos en una matriz y posteriormente leer uno por unoJSON matriz de JavaScript

Ejemplo

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

var arr = JSON.parse(pets); 

alert(arr[0].name); 

Pero no funciona.

También necesitaría agregar entrada a la matriz (probablemente con push) pero también estoy teniendo problemas.

¿Alguien tiene idea de cómo hacerlo?

Respuesta

57

Su JSON está mal formado. Prueba esto:

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

arrays JSON están delimitadas por corchetes []

tratar

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

también se olvidó de usar "'s en el último nombre de la propiedad.

5

sí solo cambian a esta corchetes también verifique las comillas dobles en el último 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

Pleas Proporcione una explicación con su código. solo se desaconsejan las respuestas del código. – RedEyedMonster

11

Una matriz JSON simple (una matriz de cadenas) que se ajusta la respuesta:

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

Poniendo juntos como JavaScript:

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