Cómo formatear y validar JSON en línea

· 7 min de lectura

Si trabaja con API, archivos de configuracion o cualquier tipo de datos estructurados, trata con JSON regularmente. Y si alguna vez ha mirado una pared de JSON minificado tratando de encontrar un corchete que falta, sabe por que importa el formateo. Un formateador basado en navegador maneja todo el trabajo localmente sin subir sus datos a un servidor.

Lo que hace el formateo JSON

El JSON sin procesar de una respuesta API o un archivo minificado se ve asi:

{"users":[{"name":"Alice","age":30,"roles":["admin","editor"]},{"name":"Bob","age":25,"roles":["viewer"]}]}

Un formateador lo transforma en algo legible:

{
  "users": [
    {
      "name": "Alice",
      "age": 30,
      "roles": ["admin", "editor"]
    },
    {
      "name": "Bob",
      "age": 25,
      "roles": ["viewer"]
    }
  ]
}

Los mismos datos, pero ahora puede leerlos de verdad, detectar errores y entender la estructura.

Como formatear JSON en linea

  1. Pegue su JSON en el campo de entrada. El formateador detectara inmediatamente los errores de sintaxis y validara la estructura.
  2. Elija su sangria: seleccione 2 o 4 espacios, o haga clic en Minificar para comprimir el JSON en una sola linea.
  3. Copie el resultado: la salida formateada incluye resaltado de sintaxis con codigo de colores. Copielo para usarlo en su codigo, archivo de configuracion o documentacion.

Una breve historia de JSON

JSON (JavaScript Object Notation) fue especificado por Douglas Crockford en 2001, formalmente documentado en el RFC 4627 (2006), y estandarizado como ECMA-404 en 2013 e ISO/IEC 21778 en 2017. Crockford no invento JSON: lo extrajo de un subconjunto de la sintaxis de literal de objeto de JavaScript que ya estaba en uso, y le dio un nombre mas una especificacion de una sola pagina en json.org.

JSON desplazo rapidamente a XML para las API web porque es dramaticamente mas simple. Una respuesta XML es verbosa con etiquetas de apertura/cierre; el JSON equivalente es la mitad del tamano. Los navegadores pueden analizar JSON de forma nativa (JSON.parse, JSON.stringify desde ECMAScript 5 en 2009) sin necesidad de un analizador XML.

Para 2015, cada API importante del mundo hablaba JSON: API REST, consultas GraphQL, mensajes WebSocket, archivos de configuracion (package.json, tsconfig.json, .vscode/settings.json), e incluso bases de datos (PostgreSQL JSONB, MongoDB BSON que es tipo JSON). Se convirtio en la lingua franca de los datos estructurados en la web.

La simplicidad de JSON es tambien su limitacion: sin comentarios, sin comas finales, sin tipo de fecha, sin soporte binario. Surgieron varias variantes de JSON para abordar estas brechas (vea «Formatos alternativos tipo JSON» a continuacion).

Errores JSON comunes y como detectarlos

La mayoria de los errores JSON se reducen a unos pocos errores comunes:

Un buen formateador resalta exactamente donde esta el error, para que pueda corregirlo de inmediato en lugar de adivinar.

Tipos de datos JSON

JSON tiene exactamente 6 tipos de datos:

TipoEjemploNotas
Cadena"hello"Siempre comillas dobles, soporta \n, \t, \\, \", \uXXXX
Numero42, 3.14, -1e10Sin NaN o Infinity, sin ceros iniciales
Booleanotrue, falseSolo minusculas
nullnullSolo minusculas
Arreglo[1, 2, 3]Ordenado, cualquier tipo, separado por comas
Objeto{"key": "value"}Las claves deben ser cadenas entrecomilladas, separadas por comas

Notablemente faltan: fechas (use cadenas ISO 8601), datos binarios (use cadenas Base64), comentarios (use un campo de documentacion separado), y bigint (los numeros JSON son de doble precision; los valores >= 2^53 pierden precision).

Cuando formatear vs minificar

Formatear (pretty-print) cuando necesite:

Minificar cuando necesite:

La diferencia de tamano es significativa: un JSON tipico de 50 KB pretty-printed se minifica a aproximadamente 30 KB. Para API de alto trafico, las respuestas minificadas ahorran ancho de banda. Para archivos editados por humanos, formateado es esencial.

Formatos alternativos tipo JSON

Cuando la estrictez de JSON es un problema, varias variantes flexibilizan las reglas:

FormatoAnade sobre JSONMejor uso
JSON5Comentarios, comas finales, comillas simples, claves sin comillasArchivos de configuracion donde humanos editan
JSONCSolo comentarios (// y /* */)Configuracion de VS Code, tsconfig.json
HJSONComentarios, cadenas sin comillas, cadenas multilineasConfigs amigables para humanos
JSON Lines (NDJSON)Un objeto JSON por linea, sin arreglo envolventeArchivos de registro, streaming
YAMLBasado en sangria, comentarios, anclas, referenciasKubernetes, GitHub Actions
TOMLSintaxis tipo INI, fechas, comentariosCargo.toml, pyproject.toml
BSONJSON binario con tipos adicionales (Date, ObjectId, Binary)Almacenamiento interno de MongoDB
CBOR (RFC 8949)Formato binario optimizado para tamanoAPI de dispositivos restringidos
MessagePackTipo JSON binario, compactoSerializacion API interna

Para intercambio de datos (respuestas API, configuracion), quedese con JSON estricto. Para configuracion editada por humanos, JSON5 o JSONC son mas amigables. Para streaming de datos, NDJSON es el estandar de facto.

Errores comunes

Consejos para trabajar con JSON

Privacidad y JSON confidencial

El formateador JSON se ejecuta completamente en su navegador. El JSON que pega, el procesamiento intermedio y la salida formateada se quedan todos en su dispositivo. Nada se sube a un servidor, se registra o se comparte con nadie.

Esto importa porque JSON a menudo contiene datos extremadamente sensibles: respuestas API con registros de clientes y direcciones de correo electronico, tokens de autenticacion y datos de sesion, esquemas API internos que revelan la arquitectura del producto, archivos de configuracion con contrasenas de base de datos, datos financieros de API contables, registros medicos de API FHIR, estructura interna de la empresa de API de RRHH, cargas utiles de depuracion con trazas de pila que revelan infraestructura. Los formateadores JSON en la nube registran cada pegado en sus registros de solicitud, a veces los retienen para «mejora del servicio», y han estado involucrados en incidentes reales donde respuestas API pegadas filtraron datos de clientes y claves API. Un formateador basado en navegador tiene exposicion cero: el JSON nunca sale de su maquina.

El formateo basado en navegador tambien funciona sin conexion una vez cargada la pagina, util para formatear JSON en aviones, en entornos seguros sin acceso a internet, o en cualquier lugar donde no pueda o no deba pegar datos API (especialmente con credenciales integradas) en un servicio de terceros.

Preguntas frecuentes

¿El formateador puede gestionar archivos JSON grandes?

Sí. Como la herramienta se ejecuta en tu navegador, puede procesar archivos de decenas de miles de líneas. El rendimiento depende de tu dispositivo, pero la mayoría de los navegadores modernos gestionan JSON grande sin problema.

¿Funciona sin conexión?

Sí. Una vez cargada la página, la herramienta funciona íntegramente en tu navegador sin conexión a Internet. Todo el procesamiento se hace localmente en JavaScript.

¿Cuál es la diferencia entre formatear y validar?

Formatear añade indentación y saltos de línea para hacer el JSON legible. Validar comprueba que la estructura JSON sea correcta, llaves equilibradas, comillas correctas, tipos válidos. La mayoría de los formateadores hacen las dos cosas a la vez.

¿Puedo usar esto en mi teléfono?

Sí. La herramienta funciona en cualquier dispositivo con un navegador moderno, incluidos teléfonos y tabletas.