2011-10-12 11 views

Respuesta

24

bien podría utilizar var data = JSON.parse(yourString); o var data = eval('(' + yourString+ ')');

1

Uso JSON.parse

var obj = JSON.parse(str); 
+2

JSON válido, que la cadena no analizará – Joe

+1

JSON es un objeto, sino a objeto no es necesariamente JSON..therefore esta manera no es el camino previsto para ir. – vsync

9

Ésta es una de las veces que eval realidad resulta muy útil:

var x = eval(yourString); 

Pero es definitivamente más seguro de usar JSON.parse según lo sugerido por otras respuestas.

Aquí hay un working example de la versión eval.

+2

Eww, eval ...; - \ –

+4

Para evaluar correctamente una cadena como esta, realmente deberá envolverla entre paréntesis, p. 'var x = eval ('(' + yourString + ')')', de lo contrario obtendrá un 'SyntaxError'. –

+0

@BradChristie - Sí, estoy de acuerdo! Pero si jQuery no se puede usar, y necesitas admitir navegadores más antiguos ... –

0

Simplemente establezca una variable exactamente para esa cadena.

var new_object = [{text: 'First Option', value: 'first'},{text: 'Second Option', value: 'second'},{text: 'Third Option', value: 'third'}] 
+2

Algo me dice que no es una cuestión de "cómo copio/pego esto en javascript y obtengo un objeto" (aunque puedo estar equivocado). –

0

Si JAVE jQuery, puede utilizar jQuery.parseJSON. Si no lo hace, puede sacar la función del source code y colocarla en su página y tener las mismas ventajas.

+0

Eso es lo mismo que 'JSON.parse()' ... – vsync

Cuestiones relacionadas