2012-02-06 24 views
27

¿Cómo convierto una cadena en objeto? Me enfrento a este problema porque estoy tratando de leer los elementos en la cadena JSON usando "cada".Convierte cadena al objeto JSON

Mi cadena de caracteres se detalla a continuación.

jsonObj = "{"TeamList" : [{"teamid" : "1","teamname" : "Barcelona"}]}" 

he utilizado eval y he utilizado

var obj = $.parseJSON(jsonObj); 

y también he utilizado

var obj= eval("(" + jsonObj + ")"); 

pero viene nulo todo el tiempo

+1

han intentado comillas simples? ''{" TeamList ": [{" teamid ":" 1 "," teamname ":" Barcelona "}]}' ' –

+1

eval funciona para mí –

+0

posible duplicado http://stackoverflow.com/questions/45015/safely -turning-a-json-string-into-a-object? rq = 1 –

Respuesta

59

encerrar la cadena en un solo Citar que debería funcionar. Prueba esto.

var jsonObj = '{"TeamList" : [{"teamid" : "1","teamname" : "Barcelona"}]}'; 
var obj = $.parseJSON(jsonObj); 

Demo

4

Su cadena no es válida. Double quots no puede estar dentro de comillas dobles. Usted debe escapar de ellos:

"{\"TeamList\" : [{\"teamid\" : \"1\",\"teamname\" : \"Barcelona\"}]}" 

o utilizar comillas simples y comillas dobles

'{"TeamList" : [{"teamid" : "1","teamname" : "Barcelona"}]}' 
3

respuesta rápida, esta eval trabajo:

eval('var obj = {"TeamList" : [{"teamid" : "1","teamname" : "Barcelona"}]}') 
10

intento:

var myjson = '{"TeamList" : [{"teamid" : "1","teamname" : "Barcelona"}]}'; 
var newJ= $.parseJSON(myjson); 
    alert(newJ.TeamList[0].teamname); 
+0

Muchas gracias por su código '$ .parseJSON (myjson)'. Es realmente trabajo. –

3
única

con js

JSON.parse(jsonObj); 

reference