¿Cómo puedo convertir un objeto de JavaScript en una cadena JSON en una función de JavaScript? Necesito la cadena JSON para pasar a una página JSP.¿JS se opone a la cadena JSON?
Respuesta
Quoth Crockford (http://www.json.org/js.html):
Para convertir un texto JSON en un objeto, puede utilizar la función eval(). eval() invoca el compilador JavaScript . Como JSON es un subconjunto propio de JavaScript, el compilador analizará correctamente el texto y producirá una estructura de objeto. El texto debe estar envuelto en parens para evitar tropezando con una ambigüedad en la sintaxis de JavaScript de .
var myObject = eval ('(' + myJSONtext + ')');
La función eval es muy rápida. Sin embargo, puede compilar y ejecutar cualquier programa de JavaScript, por lo que puede ser problemas de seguridad. El uso de eval es indicado cuando la fuente es confiable y competente. Es mucho más seguro usar un analizador JSON. ...
Para defenderse de esto, se debe utilizar un analizador JSON . Un analizador JSON reconoce solo texto JSON, rechazando todos los scripts. En navegadores que proporcionan compatibilidad nativa con JSON , los analizadores JSON son también mucho más rápidos que eval. Es esperado que la compatibilidad nativa con JSON será incluida en la próxima norma ECMAScript .
var myObject = JSON.parse (myJSONtext, reviver);
Y luego desarrolla el prototipo JSON en el resto del artículo.
Las versiones de Gecko utilizadas en Firefox 3 y 3.5 son compatibles con JSON de forma nativa (https://developer.mozilla.org/En/JSON), lo que puede ser útil si su proyecto está limitado a una aplicación reciente basada en Gecko.
Como se señala más adelante, la parte interesante sobre el generador de texto (no parser) es al https://github.com/douglascrockford/JSON-js/blob/master/json2.js e introducido con
A JSON stringifier va en la dirección opuesta, la conversión de las estructuras de datos de JavaScript en JSON texto. JSON no admite estructuras de datos cíclicos, por lo que debe tener cuidado de no dar estructuras cíclicas al secuenciador JSON.
var myJSONText = JSON.stringify (myObject, replacer);
Las estructuras de datos cíclicos y los objetos que no son serializados con utilidad son obviamente las únicas grandes advertencias allí.
Vale la pena mencionar que el enlace de Anonymous (http://www.json.org/js.html) te orientará en la dirección correcta porque la página también incluye información sobre cómo stringify una estructura de datos JavaScript en JSON texto:
Un JSON stringifier va en la dirección opuesta, convirtiendo estructuras de datos JavaScript en texto JSON.
En particular, busque el enlace en la parte inferior de la página que apunta a un analizador JSON de fuente abierta y un secuenciador JSON.
Hay dos métodos de ejemplo en la biblioteca de Crockford (como criado por @Anonymous):
cadenaJSON a objeto:
var obj = JSON.parse('{ "property":"value" }');
alert (obj.property);
// value
de objetos para cadena JSON:
var str = JSON.stringify({ "property":"value" })
alert (str);
//{ "property":"value" }
Hay También se han incorporado métodos para hacer esto en la mayoría de los principales marcos.
- 1. Cadena JSON al objeto JS
- 2. jquery json a la cadena?
- 3. ¿Cómo obtener JSON de PHP a JS?
- 4. momento js extracto año de la cadena
- 5. Cómo convertir JSON a una cadena?
- 6. cómo convertir JSON a cadena
- 7. PHP JSON String, escape Citas dobles para la salida JS
- 8. JSON acceso o la propiedad JS usando cuerdas
- 9. Convierta objeto en cadena JSON
- 10. La cadena JSON se trata como una cadena literal en el ciclo
- 11. ¿Cuál es la diferencia entre un objeto JS literal y una cadena JSON?
- 12. Objeto JSON en la cadena
- 13. Codificación de objeto JavaScript a cadena Json
- 14. ext js - Enlace de ColumnModel a un objeto json complejo
- 15. REST y JSON - cadena de conversión a matriz JSON
- 16. Google Reader API: ¿cómo se comparte por url del artículo como se opone a la identificación del artículo?
- 17. Pasando el objeto js como json a jquery?
- 18. Deserializando cadena JSON a Object con json.net
- 19. ¿Cómo el mapa se opone a una vista con el código EF 4 primero?
- 20. JS reemplazar no funciona en la cadena
- 21. Deserializar cadena JSON a C# objeto
- 22. Cómo convertir la siguiente cadena json a objeto java?
- 23. Integración de JSON feed con Backbone JS
- 24. cómo convertir NameValueCollection a cadena JSON?
- 25. d3.js & json - código de muestra simple?
- 26. Json Convertir a y desde cadena de consulta con jquery?
- 27. Creación de objetos BSON a partir de la cadena JSON
- 28. Convertir cadena JSON en el objeto JSON
- 29. Codifica una cadena de Ruby en una cadena JSON
- 30. Cadena vacía de JSON
Biblioteca en http://www.json.org/json.js – Keith
@Jason T Featheringham Waow 'Mr.Json' estuvo presente aquí editando la pregunta :) –