2011-10-12 15 views

risposta

24

potrebbe o utilizzare var data = JSON.parse(yourString); o var data = eval('(' + yourString+ ')');

1

Usa JSON.parse

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

valida JSON, che stringa non analizzerà – Joe

+1

JSON è un oggetto, ma non è necessariamente oggetto JSON..therefore in questo modo non è il percorso previsto di andare. – vsync

9

Questo è uno dei momenti che eval venga effettivamente in utile:

var x = eval(yourString); 

Ma è sicuramente più sicuro utilizzare JSON.parse come suggerito da altre risposte.

Ecco uno working example della versione eval.

+2

Eww, eval ...; - \ –

+4

Per valutare in modo corretto una stringa come questa, sarà effettivamente necessario racchiuderla tra parentesi, ad es. 'var x = eval ('(' + yourString + ')')', altrimenti otterrai un 'SyntaxError'. –

+0

@BradChristie - Sì, sono d'accordo! Ma se jQuery non può essere usato, ed è necessario supportare i browser più vecchi ... –

0

Basta impostare una variabile esattamente su quella stringa.

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

Qualcosa mi dice che non è una questione di "come faccio a copiare/incollare questo in javascript e ottenere un oggetto" (anche se potrei sbagliarmi). –

0

Se JAVE jQuery, è possibile utilizzare jQuery.parseJSON. Se non lo fai, puoi estrarre la funzione dal source code e posizionarla sulla tua pagina e avere gli stessi vantaggi.

+0

È lo stesso di 'JSON.parse()' ... – vsync

Problemi correlati