JSON a JavaScript Object

Convierte JSON a objeto JS con ejemplos de JSON.parse y JSON.stringify.

{{ jsonToJsObject.message }}

Descripción

JSON surgió directamente de JavaScript: Douglas Crockford identificó un subconjunto de la sintaxis de literal de objeto de JavaScript que podía usarse como formato de intercambio de datos y lo llamó JavaScript Object Notation. Irónicamente, JSON y un objeto JavaScript no son lo mismo. Un objeto JavaScript puede contener funciones, referencias circulares, valores `undefined`, instancias de `Date`, `Map`, `Set`, `RegExp` y `Symbol` — nada de eso existe en JSON. Cuando un objeto JavaScript pasa por `JSON.stringify`, las funciones y el `undefined` se descartan silenciosamente, y las instancias de `Date` se convierten en cadenas ISO 8601 sin ningún aviso.

`JSON.parse` y `JSON.stringify` son los dos métodos del objeto JSON integrado de JavaScript, disponibles en todos los navegadores modernos y en Node.js sin ningún import. `JSON.parse` acepta un segundo argumento llamado `reviver`: una función que transforma claves y valores durante el análisis, útil para convertir cadenas de fecha de vuelta en instancias de `Date`. `JSON.stringify` acepta un `replacer` (función o array de claves a incluir en la salida) y un argumento `space` (número de espacios o cadena de sangría).

Nunca uses `eval()` para analizar JSON, aunque técnicamente funcione. `eval` ejecuta cualquier código JavaScript de la cadena, abriendo una brecha de seguridad grave si el JSON proviene de una fuente no confiable. Antes de que existiera `JSON.parse` (antes de ES5 en 2009), `eval` era la única opción disponible, pero hoy no hay ninguna justificación para usarlo. Otra trampa es llamar a `JSON.stringify` con un objeto que tiene referencias circulares: la función lanza un `TypeError` de inmediato.

Esta herramienta convierte el JSON que pegues en código JavaScript listo para usar, con ejemplos de `JSON.parse` para la lectura y `JSON.stringify` para la serialización. El código generado es compatible con navegadores modernos (ES2015+) y Node.js. Para la clonación profunda en entornos modernos, considera `structuredClone()` como alternativa al patrón `JSON.parse(JSON.stringify(obj))`: es semánticamente más correcto y generalmente más rápido.

Detalle técnico

Ideas claras antes de usar la herramienta

  • ¿Para qué sirve esta herramienta?: Funciona por completo en tu navegador: sirve para validar, formatear o convertir datos en el día a día.
  • ¿Se envían mis datos a algún servidor?: El procesamiento es local con JavaScript. No almacenamos lo que pegas en los campos de texto.
  • ¿Puedo usarlo con datos reales en producción?: Úsalo bajo tu responsabilidad. Para secretos (contraseñas, tokens), prefiere entornos controlados y políticas internas. Recuerda de revisar los contenidos generados. Nunca confies ciegamente en cosas que ves en internet.

Fragmento corto para probar

  • Debajo aparece también el ejemplo largo en "Fragmentos de Código"; pega esta versión corta: Ejemplo — const data = JSON.parse(jsonText); const json = JSON.stringify(data, null, 2);

Guía de la herramienta

  • Qué es JSON Formato estándar de payload en integraciones web.

  • Qué es JavaScript y dónde se usa Lenguaje principal del navegador y también de Node.js en backend y automatizaciones.

  • Qué objeto manipula la herramienta JSON convertido a literal de objeto JavaScript listo para usar en código.

  • Qué hace la herramienta Genera snippet con objeto, parse (JSON.parse) y serialización (JSON.stringify).

  • Ejemplos de parseo/generación en JavaScript const data = JSON.parse(jsonText) y const json = JSON.stringify(data, null, 2).

Fragmentos de Código

Ejemplo de código
const data = JSON.parse(jsonText);
const json = JSON.stringify(data, null, 2);

Ejemplo

const data = JSON.parse(jsonText);
const json = JSON.stringify(data, null, 2);

Preguntas frecuentes

¿Para qué sirve esta herramienta?

Funciona por completo en tu navegador: sirve para validar, formatear o convertir datos en el día a día.

¿Se envían mis datos a algún servidor?

El procesamiento es local con JavaScript. No almacenamos lo que pegas en los campos de texto.

¿Puedo usarlo con datos reales en producción?

Úsalo bajo tu responsabilidad. Para secretos (contraseñas, tokens), prefiere entornos controlados y políticas internas. Recuerda de revisar los contenidos generados. Nunca confies ciegamente en cosas que ves en internet.