Ejemplos:
// El JSON formateado aparecerá aquí
JSON válido
Claves
Profundidad
Tamaño
Tipo

¿Qué es JSON?

JSON (JavaScript Object Notation) es un formato de intercambio de datos ligero, basado en texto, originalmente derivado de la sintaxis de literales de objetos de JavaScript. Definido en RFC 8259, JSON representa datos como pares clave-valor (objetos) y listas ordenadas (arreglos). Es el formato dominante para APIs REST, archivos de configuración y serialización de datos porque prácticamente todos los lenguajes de programación modernos incluyen un parser JSON incorporado.

JSON soporta seis tipos primitivos: string, number, boolean (true/false), null, object (llaves) y array (corchetes). Todas las cadenas y todas las claves de objetos deben estar encerradas en comillas dobles — las comillas simples no son JSON válido.

Errores Comunes de Sintaxis JSON

La especificación JSON es deliberadamente estricta, lo que significa que pequeños errores causan un fallo completo en el análisis. Las causas más frecuentes de JSON no válido son:

  • Comas al final: Una coma después del último elemento de un objeto o arreglo — {"a": 1,} — no está permitida en JSON. Es válida en literales de objetos de JavaScript y muchos lenguajes, pero está explícitamente prohibida por la especificación JSON.
  • Cadenas con comillas simples: JSON requiere comillas dobles para todas las cadenas y claves. Escribir {'key': 'value'} no es válido; debe ser {"key": "value"}.
  • Claves sin comillas: Las claves de objetos siempre deben ser cadenas entre comillas. {name: "Alice"} es una abreviatura de estilo JavaScript no válida — JSON requiere {"name": "Alice"}.
  • Comentarios de JavaScript: JSON no soporta comentarios // de una línea ni /* de bloque */. Si necesita comentarios en archivos de configuración, considere JSONC o JSON5 — ambos requieren un parser dedicado y no son intercambiables con JSON estándar.
  • Valores undefined: undefined es un concepto de JavaScript; no tiene representación en JSON. Las claves con valores undefined son silenciosamente descartadas por JSON.stringify().
  • Caracteres especiales sin escapar: Ciertos caracteres dentro de cadenas deben ser escapados: \" (comilla doble), \\ (barra invertida), \n (salto de línea), \t (tabulación). Los saltos de línea sin procesar dentro de un literal de cadena no están permitidos.

JSON.parse y JSON.stringify en JavaScript

JavaScript proporciona dos métodos incorporados para trabajar con JSON:

// Analizar una cadena JSON en un objeto JavaScript
const data = JSON.parse('{"name":"Alice","age":30}');
console.log(data.name); // "Alice"

// Convertir un objeto JavaScript en una cadena JSON
const json = JSON.stringify(data, null, 2); // indentación de 2 espacios

// Siempre valide con try/catch
try {
  const parsed = JSON.parse(userInput);
} catch (e) {
  console.error('JSON no válido:', e.message);
}

// Función replacer para filtrar claves
const filtered = JSON.stringify(data, ['name']);
// '{"name":"Alice"}'

Preguntas Frecuentes

¿Qué es JSON y por qué se usa?

JSON (JavaScript Object Notation) es un formato de intercambio de datos ligero, basado en texto, derivado de la sintaxis de objetos de JavaScript. Usa pares clave-valor y listas ordenadas, haciéndolo fácil de leer para humanos y de analizar para máquinas. JSON es el formato dominante para APIs REST, archivos de configuración y almacenamiento de datos porque prácticamente todos los lenguajes de programación tienen un parser JSON incorporado.

¿Cómo valido JSON en línea?

Pegue su JSON en el campo de entrada de arriba y haga clic en Validar. La herramienta usa JSON.parse() para verificar su JSON y, si no es válido, reporta el error de sintaxis exacto con número de línea y columna. Los problemas comunes incluyen comas al final, cadenas con comillas simples, claves sin comillas y comentarios de JavaScript — ninguno de los cuales es válido en JSON.

¿Cuál es la diferencia entre JSON y XML?

JSON es generalmente más compacto, más rápido de analizar y más fácil de leer que XML. XML usa etiquetas de apertura y cierre verbosas y soporta atributos, namespaces y comentarios. JSON mapea directamente a estructuras de datos (objetos y arreglos) encontradas en la mayoría de lenguajes. JSON ha reemplazado en gran medida a XML para APIs REST, pero XML todavía se usa en servicios SOAP, formatos de documentos (SVG, DOCX) y sistemas empresariales.

¿Por qué JSON no permite comas al final?

Las comas al final (una coma después del último elemento en un objeto o arreglo) no son válidas en la especificación JSON (RFC 8259). Esta es una decisión de diseño estricta para simplificar los parsers. JavaScript en sí permite comas al final en literales de objetos y arreglos, pero JSON.parse() lanzará un SyntaxError. Si necesita un formato más permisivo, considere JSON5 o JSONC (JSON con Comentarios), aunque estos requieren parsers especiales.

Herramientas Relacionadas para Desarrolladores