Escapar JSON como literal de cadena (y decodificar JSON con doble codificación)
Hacer stringify a un JSON lo envuelve en comillas y escapa las comillas internas y los caracteres especiales, produciendo un literal de cadena JSON que puedes incrustar en otros lugares.
Qué significa stringificar a un literal
Pasar una cadena JSON a JSON.stringify la envuelve en comillas dobles y escapa las comillas y barras invertidas internas, produciendo un único valor de cadena que es seguro embeber.
Por qué la necesitas
Embeber JSON dentro de otro campo JSON, guardar JSON en una columna de tipo cadena en una base de datos o pasar JSON como variable de entorno o parámetro de URL requiere un literal de cadena escapado.
Reglas de escapado
Las comillas dobles se escapan con una barra invertida, las barras invertidas se duplican y los caracteres de control como el salto de línea o el tabulador pasan a sus secuencias de escape de dos caracteres. El resultado no contiene saltos de línea reales.
Decodificar JSON doblemente codificado
Si recibes una cadena que empieza por una comilla escapada y contiene secuencias de comillas escapadas, fue stringificada. Hazle un parse una vez para recuperar la cadena JSON interna y otra para obtener el valor real.
Dónde aparece la doble codificación
Frameworks de logging que serializan objetos de contexto, payloads de webhooks que envuelven un cuerpo JSON dentro de un campo 'body', colas de mensajes que envían sobres «JSON como cadena» y columnas de bases de datos de tipo text o varchar son las fuentes más comunes. Busca una comilla inicial seguida de un número par de barras invertidas.
Trabajar con JSON embebido en logs
Los loggers estructurados suelen stringificar objetos para que cada línea sea un único valor. Para inspeccionarlo, saca la línea del visor de logs, desescápala con JSON.parse y luego formatea el JSON recuperado. Evita hacer grep sobre objetos JSON multilinea — un JSON stringificado a una sola línea es mucho más fácil de buscar.
Herramientas para el viaje de ida y vuelta
Consola del navegador: JSON.parse(line) devuelve el JSON interno y luego JSON.stringify(...,null,2) lo embellece. Node en línea de comandos: 'node -e "console.log(JSON.parse(process.argv[1]))" "<line>"' hace ambos pasos. La herramienta JSON Stringify de este sitio gestiona anidamientos arbitrariamente profundos con un clic.
Guías de reparación de JSON
Centros temáticos
- JSON Parse Errors: Read the Message, Jump to the Fix
- Fix Invalid JSON: From 'What's Wrong' to a Clean File
- JSON Formatter, Validator, Viewer: Pick the Right Tool
- Repair LLM JSON Output: Handling Almost-JSON from AI
- Privacy: JSON Tools That Don't Leave Your Browser
- JSON Interop: YAML, CSV, XML, JWT, Schema
Guías específicas
- Cómo decodificar cadenas Base64 (y payloads JWT)
- Codificación URL: codifica parámetros de consulta y rutas
- Convertir YAML a JSON (y evitar errores de indentación)
- Convertir JSON a CSV: aplanar un arreglo de objetos
- Convertir JSON a XML: raíz, atributos y arreglos
- Arreglar comas finales en JSON
- Arreglar comillas simples en JSON
- Arreglar claves sin comillas en JSON
- Reparar JSON generado por LLM
- Arreglar el error de parse JSON: Expected Property Name
- JSON frente a literal de objeto JavaScript
- Valida el JSON antes de las solicitudes API
- Formateador JSON frente a JSON Repair
- Arreglar errores JSON Unexpected Token
- Convertidor JSON a objeto JavaScript