2012-02-06 24 views
27

Come si converte la stringa in oggetto? Sto affrontando questo problema perché sto cercando di leggere gli elementi nella stringa JSON usando "ciascuno".Converti stringa in oggetto JSON

La mia stringa è riportata di seguito.

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

ho usato eval e ho usato

var obj = $.parseJSON(jsonObj); 

e ho usato anche

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

ma viene nulla per tutto il tempo

+1

hai provato virgolette singole? ''{" TeamList ": [{" teamid ":" 1 "," teamname ":" Barcelona "}]}'' –

+1

eval funziona per me –

+0

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

risposta

59

racchiudere la stringa in single citare dovrebbe funzionare. Prova questo.

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

Demo

4

La stringa non è valido. I doppi quo non possono essere racchiusi tra virgolette. Si dovrebbe sfuggire:

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

o usare le virgolette singole e doppie virgolette

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

risposta rapida, questa eval lavoro:

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

prova:

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

Grazie mille per il codice '$ .parseJSON (myjson)'. È davvero un lavoro –

3
solo

con js

JSON.parse(jsonObj); 

reference