2012-02-15 30 views
5

Estoy utilizando un método de publicación jQuery para enviar datos a un servidor. En lugar de construir la cadena JSON, me gustaría simplemente usar un objeto Javascript. Cuando obtengo la cadena de retorno (en JSON) me gustaría construir automáticamente un objeto javascript correspondiente. es posible?Serializar objeto javascript a json y volver

Gracias de antemano.

Respuesta

20

Pedido JSON.stringify() y JSON.parse() en JSON2 documentation

Ejemplo:

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

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

¡Excelente plugin, gracias! – Ipad

6

Sí.

Si el objeto JSON está disponible, puede utilizar:

var aString = JSON.stringify(anObject); 

para transformar un objeto en cadena JSON.

También puede convertir una cadena en un objeto con

var obj = JSON.parse(aString) 

Para estar seguros de que JSON está disponible, puede incluir este archivo https://github.com/douglascrockford/JSON-js

2

se debe utilizar Douglas Crockford JSON2 library.

De esta manera, usted podría:

var jsonString = JSON.stringify(obj); 

o

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

Puede hacerlo de todos modos en los navegadores modernos. JSON2 es un polyfill (vale la pena usarlo) – Quentin

1

Si usa jQuery.getJSON, no tiene que preocuparse por la stringificación y el análisis de json, jquery lo hace por usted.

+0

Lo bueno es saber, de hecho. Lo mismo si usa $ .ajax con "json" como dataType. – CronosS

+0

@CronosS, sí. 'getJSON' es solo una abreviatura de $ .ajax con" json "como dataType. –

Cuestiones relacionadas