2012-02-15 15 views
5

Sto utilizzando un metodo post jQuery per inviare alcuni dati a un server. Invece di costruire da solo la stringa JSON, mi piacerebbe semplicemente utilizzare un oggetto Javascript. Quando avrò la stringa di restituzione (in JSON) mi piacerebbe costruire automaticamente un oggetto javascript corrispondente. È possibile?Serialize javascript object to json and back

Grazie in anticipo.

risposta

20

Checkout JSON.stringify() e JSON.parse() in JSON2 documentation

Esempio:

myData = JSON.parse(text); // from json string to js object 

var myJSONText = JSON.stringify(myObject, replacer); // js object to json string 
+0

Grande plugin, grazie! – Ipad

6

Sì.

Se l'oggetto JSON è disponibile, è possibile utilizzare:

var aString = JSON.stringify(anObject); 

per trasformare un oggetto in stringa JSON.

è anche possibile convertire una stringa in un oggetto con

var obj = JSON.parse(aString) 

Per essere sicuri che JSON è disponibile, è possibile includere questo file https://github.com/douglascrockford/JSON-js

2

si dovrebbe usare Douglas Crockford di JSON2 library.

In questo modo, si potrebbe:

var jsonString = JSON.stringify(obj); 

o

var Obj = JSON.parse(jsonString); 
+2

Puoi farlo comunque nei browser moderni. JSON2 è un polyfill (vale la pena usare però) – Quentin

1

Se si utilizza jQuery.getJSON non è necessario preoccuparsi di stringificare e analizzare json, jquery lo fa per te.

+0

Buona cosa sapere, davvero. Lo stesso se usi $ .ajax con "json" come dataType. – CronosS

+0

@CronosS, sì. 'getJSON' è solo una scorciatoia per $ .ajax con" json "come dataType. –