Convertidor JSON a objeto JavaScript
JSON estricto se puede convertir en un objeto JavaScript con JSON.parse. Los literales de objeto JavaScript necesitan limpieza antes de ser JSON válido.
Convertir JSON en JavaScript
Si la entrada ya es JSON válido, el convertidor más seguro es JSON.parse(jsonText). Devuelve un objeto, array, cadena, número, booleano o null de JavaScript sin ejecutar código.
Entrada JSON
{ "name": "Ada", "active": true, "skills": ["math", "notes"] }
Uso en JavaScript
const user = JSON.parse(jsonText); console.log(user.name);
La entrada de literal de objeto es diferente
Un literal de objeto JavaScript como { name: 'Ada', active: true } no es JSON. Antes de pasarlo por JSON.parse, repara las claves sin comillas, convierte las comillas simples a dobles, elimina los comentarios y quita las comas finales.
Cuándo evitar eval
No uses eval para convertir texto desconocido en un objeto. eval ejecuta código. JSON.parse solo parsea datos, por eso el JSON estricto es más seguro para payloads de API, configuración, logs y ejemplos pegados.
Casos límite: fechas, undefined y funciones
JSON no tiene tipo Date, undefined ni función. Las fechas viajan como cadenas ISO, los undefined se pierden al hacer stringify y las funciones no pueden representarse en absoluto. Si un objeto JavaScript contiene cualquiera de ellos, el JSON resultante será una captura con pérdida — restaura los tipos explícitamente con una función reviver en JSON.parse.
TypeScript y tipos inferidos
JSON.parse devuelve 'any' porque el parser no puede saber la forma de antemano. Para acceso tipado, o declara un tipo de retorno (JSON.parse(text) as User) tras validar con una librería de schema como zod o io-ts, o genera una interfaz a partir de un ejemplo con la herramienta JSON to TypeScript.
Dirección inversa: objeto a JSON
JSON.stringify(value, null, 2) produce JSON formateado a partir de un valor JavaScript. Silenciosamente descarta undefined, funciones y claves Symbol; las referencias circulares lanzan error. Pasa una función replacer como segundo argumento para controlar qué campos sobreviven — útil para limpiar internos antes de enviar un objeto por la red.
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
- 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