Arreglar claves sin comillas en JSON
Claves como name, active y profile deben llevar comillas en JSON válido, incluso cuando parecen un identificador normal.
Por qué fallan las claves sin comillas
JavaScript permite nombres de propiedad sin entrecomillar en literales de objeto. JSON no; cada clave de objeto debe ser una cadena entrecomillada con dobles.
Ejemplo erróneo
{ name: "Ada", active: true }
JSON corregido
{ "name": "Ada", "active": true }
Por qué los identificadores JavaScript se parecen a claves JSON
En un literal de objeto JavaScript, { name: "Ada" } es legal porque name es un identificador válido. JSON eliminó ese atajo para que un parser solo tenga que reconocer una forma — una cadena entrecomillada — para cada clave, lo que mantiene la gramática lo bastante pequeña como para implementarla en cualquier lenguaje.
Claves que siempre necesitan comillas
Incluso si un parser aceptara identificadores sin comillas, varias formas de clave seguirían necesitándolas: palabras reservadas como return o class, nombres con guiones o puntos, nombres que empiezan por un dígito y nombres Unicode con caracteres combinantes o emoji. Entrecomillar todas las claves esquiva todos esos casos límite.
Cuándo la auto-reparación puede entrecomillar claves de forma segura
La herramienta de reparación entrecomilla identificadores sin comillas que aparecen en posición de clave — directamente después de { o , y seguidos de :. No toca claves ya entrecomilladas, valores ni texto dentro de cadenas, así que añadir comillas es seguro incluso cuando el documento mezcla claves válidas e inválidas.
JSON5 y JSONC
JSON5 y JSONC (el formato que VS Code usa para su configuración) permiten claves sin comillas y comentarios. Están bien para configuración editada a mano, pero no para intercambio — nunca expongas JSON5 en una API, los clientes estándar lo rechazarán.
FAQ
P: ¿Por qué mi JSON tiene claves sin comillas? R: Normalmente porque se copió de un literal de objeto JavaScript o lo generó una plantilla que olvidó las comillas. P: ¿Puedo dejar las claves sin comillas en package.json? R: No — package.json es JSON estricto; solo tsconfig.json (JSONC) lo tolera.
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
- 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