2010-04-26 14 views

Respuesta

12
var array_of_objects = eval("[" + my_string + "]"); 

Esto ejecuta la cadena como código, por lo que debemos agregar el [] para convertirlo en un objeto. Este es también uno de los pocos usos legítimos de eval ya que es la forma más rápida y sencilla. : D

+0

Para su información, también puede utilizar el método JSON.parse si está utilizando la biblioteca del analizador JSON. Gracias SLaks http://stackoverflow.com/questions/2710556/convert-javascript-string-to-an-array/2710558#2710558 –

6

Suponiendo que str tiene una sintaxis JSON válida, puede simplemente llamar al eval(str).

Por razones de seguridad, es mejor utilizar un JSON parser, así:

JSON.parse(str); 

Tenga en cuenta que str debe ser envuelto en [] ser una matriz JSON válida.

0
var str=eval([{'id':'1','txt':'name1'},{'id':'2','txt':'name2'},{'id':'3','txt':'name3'}]) 
for(var i=0;i<str.length;i++) 
{ 
alert(str[i].txt); 
} 
Cuestiones relacionadas