JSON frente a literal de objeto JavaScript
JSON parece un literal de objeto JavaScript, pero es un formato de datos más pequeño, con sintaxis más estricta y sin valores ejecutables.
La versión corta
Un literal de objeto JavaScript es código fuente; JSON es un formato de intercambio de datos. El solapamiento es lo bastante grande como para confundir, pero las reglas son distintas: las claves y cadenas JSON requieren comillas dobles, JSON no admite comentarios y JSON no puede representar funciones, undefined, NaN, Infinity, objetos Date ni expresiones regulares.
Valores JSON válidos
Un documento JSON puede contener un objeto, un array, una cadena, un número, un booleano o null. Las cadenas deben usar comillas dobles. Las claves de los objetos también deben ser cadenas entre comillas dobles. Los números no pueden usar formas exclusivas de JavaScript como notación hexadecimal, NaN, Infinity o separadores numéricos.
- Cadena JSON válida: "hello"
- Booleano JSON válido: true
- Null JSON válido: null
- Clave de objeto JSON válida: "name"
JavaScript válido pero JSON inválido
{ name: 'Ada', active: true, createdAt: new Date(), onSave() { return true }, tags: ['dev',], }
Versión JSON válida
{ "name": "Ada", "active": true, "createdAt": "2026-05-13T00:00:00.000Z", "tags": ["dev"] }
Por qué las APIs rechazan datos con pinta de JavaScript
Los servidores de API suelen parsear los bodies con un parser JSON, no con un motor JavaScript. Eso es una garantía de seguridad e interoperabilidad: cualquier lenguaje puede parsear los mismos datos sin ejecutar código. Si un body incluye comentarios, métodos, undefined o new Date(), el servidor no puede tratarlo como datos puros con seguridad.
Cómo convertir con seguridad
Sustituye los valores ejecutables o específicos del lenguaje por datos planos. Las fechas deben ser cadenas, los valores ausentes deben ser null o claves omitidas, los comentarios deben ir a la documentación y las funciones deben representarse con campos explícitos de datos como un nombre de estrategia o un tipo.
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
- Escapar JSON como literal de cadena (y decodificar JSON con doble codificación)
- 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
- Valida el JSON antes de las solicitudes API
- Formateador JSON frente a JSON Repair
- Arreglar errores JSON Unexpected Token
- Convertidor JSON a objeto JavaScript