Analizador JSON

JSON (Notación de Objetos JavaScript) es el formato estándar de intercambio de datos para APIs web y archivos de configuración. Esta herramienta analiza, valida y formatea JSON con una vista de árbol interactiva para explorar estructuras anidadas. Convertir entre JSON y otros formatos como YAML o TOML.

Especificaciones

Casos de uso comunes

  • Formatear respuestas minificadas de API para depuración
  • Validar archivos de configuración JSON antes del despliegue
  • Convertir respuestas de API a YAML para documentación
  • Explorar estructuras de datos profundamente anidadas de bases de datos NoSQL
  • Preparar cargas útiles JSON para herramientas de prueba de API como Postman o curl

Funcionalidades

  • Validar sintaxis JSON con mensajes de error claros y números de línea
  • Formatear con indentación de 2 espacios
  • Minificar JSON para almacenamiento o transmisión compacta
  • Convertir a formatos YAML, TOML o XML
  • Vista de árbol interactiva con nodos plegables
  • Copiar valores individuales o subárboles

Ejemplos

API Response

Pruébalo →

A typical REST API response with nested objects and arrays.

{
  "users": [
    {
      "id": 1,
      "name": "Alice",
      "email": "alice@example.com"
    },
    {
      "id": 2,
      "name": "Bob",
      "email": "bob@example.com"
    }
  ],
  "total": 2
}

Application Configuration

Pruébalo →

Nested configuration with database and cache settings.

{
  "database": {
    "host": "localhost",
    "port": 5432,
    "name": "myapp"
  },
  "cache": {
    "enabled": true,
    "ttl": 3600
  }
}

Consejos

  • Las claves JSON deben ser cadenas entre comillas dobles. Las comillas simples no son válidas.
  • Las comas finales después del último elemento no están permitidas en JSON estándar.
  • Para JSON con comentarios, use el analizador JSONC en su lugar.

Comprender Analizador JSON

JSON (Notación de Objetos JavaScript) es el formato universal de intercambio de datos de la web moderna. Definido por RFC 8259 y ECMA-404, JSON representa datos estructurados usando seis tipos: cadenas, números, booleanos, null, arrays y objetos. Su simplicidad y mapeo directo a estructuras de datos en virtualmente todos los lenguajes de programación lo han convertido en el formato predeterminado para APIs REST, archivos de configuración, bases de datos de documentos y comunicación entre servicios.

La sintaxis de JSON es un subconjunto estricto de la notación literal de objetos de JavaScript, pero con restricciones importantes: las claves deben ser cadenas entre comillas dobles, las comas finales no están permitidas y los comentarios no son soportados. Estas restricciones aseguran un análisis inequívoco entre implementaciones. Un documento JSON válido debe tener un objeto o array como elemento raíz (aunque RFC 8259 técnicamente permite cualquier valor JSON en el nivel superior, la mayoría de las APIs esperan un objeto o array).

En el desarrollo web, JSON es el formato estándar de solicitud y respuesta para APIs REST y GraphQL. Los navegadores proporcionan métodos nativos JSON.parse() y JSON.stringify(), y la API fetch incluye un método de conveniencia .json(). Los frameworks de servidor en Node.js, Python (Flask, Django), Go y otros lenguajes incluyen serialización JSON integrada. Las bases de datos de documentos como MongoDB, CouchDB y DynamoDB almacenan datos nativamente en JSON o formatos similares a JSON (BSON para MongoDB).

Las limitaciones de JSON han generado varias extensiones y alternativas: JSONC agrega comentarios para archivos de configuración, JSON5 relaja las reglas de sintaxis, JSON Lines (JSONL/NDJSON) usa un objeto JSON por línea para streaming, y JSON Schema proporciona vocabulario para validar la estructura de documentos JSON. Para eficiencia binaria, formatos como BSON, MessagePack y CBOR ofrecen serialización compacta compatible con JSON. A pesar de estas alternativas, JSON simple sigue siendo el formato dominante debido a su soporte universal de herramientas y legibilidad humana.

JSON intencionalmente no soporta comentarios. Douglas Crockford, quien popularizó el formato, los excluyó para mantenerlo simple y prevenir su mal uso como directivas de análisis (como ocurrió en XML). Para archivos de configuración donde la documentación en línea es necesaria, JSONC (JSON con Comentarios) es soportado nativamente por herramientas como VS Code, TypeScript y ESLint. YAML y TOML también son alternativas sólidas cuando los archivos de configuración se benefician de comentarios, cadenas multilínea o encabezados de sección claros.

A pesar de sus orígenes en JavaScript, JSON no es lo mismo que un literal de objeto JavaScript. JSON aplica reglas de sintaxis estrictas: todas las claves deben estar entre comillas dobles, solo se permiten cadenas entre comillas dobles, las comas finales están prohibidas, y valores como undefined y funciones no se pueden representar. JSON.parse() convierte una cadena JSON en un objeto JavaScript, mientras que JSON.stringify() serializa un objeto de vuelta a una cadena JSON. No todos los objetos JavaScript pueden hacer viaje de ida y vuelta a través de JSON — aquellos que contienen funciones, undefined, Infinity o referencias circulares perderán datos o lanzarán errores durante la serialización.

Para archivos JSON más grandes de unos pocos megabytes, cargar el documento entero en memoria de una vez puede causar problemas de rendimiento. Los analizadores de streaming — bibliotecas estilo SAX como clarinet y oboe.js para JavaScript, o ijson para Python — procesan el documento incrementalmente sin almacenar en buffer toda la estructura. El formato JSON Lines (JSONL), donde cada línea es un objeto JSON separado, es ideal para conjuntos de datos grandes porque los registros se pueden procesar uno a la vez. Las APIs que devuelven respuestas grandes deben implementar paginación para mantener manejables los tamaños de respuesta individuales. Al elegir entre JSON y otros formatos, JSON es el predeterminado más seguro para comunicación de API e intercambio de datos porque todos los lenguajes y herramientas lo soportan sin dependencias adicionales. YAML sobresale para configuración editada por humanos, como manifiestos de Kubernetes y pipelines de CI/CD. TOML es mejor para configuración de aplicaciones que se beneficia de encabezados de sección explícitos y pares clave-valor simples, como Cargo.toml y pyproject.toml.

← Volver a todas las herramientas