Tutorial JSON

JSON es un formato ligero de intercambio de datos muy usado en APIs y configuración. Esta guía cubre la sintaxis esencial y patrones habituales.

¿Qué es JSON?

JSON se basa en objetos de JavaScript, pero es texto plano e independiente del lenguaje.

Un JSON válido tiene un solo valor raíz: un objeto {...} o un array [...].

Reglas básicas

Claves y strings con comillas dobles; \ escapa caracteres especiales.

Comas entre elementos, sin coma final. Sin comentarios ni undefined, NaN o Infinity.

Números sin ceros iniciales; true y false en minúsculas.

Seis tipos de datos

string, number, boolean, null, object y array:

{
  "name": "Alice",
  "age": 30,
  "active": true,
  "score": null
}

Strings y escape

Los strings usan comillas dobles; UTF-8 permite cualquier idioma. Escapes comunes: \n, \t, \", \\.

{
  "message": "Hello\nWorld",
  "quote": "He said \"Hi\"",
  "path": "C:\\Users\\data",
  "emoji": "你好 🎉",
  "unicode": "\u0041"
}

Números, booleanos y null

Enteros, decimales, negativos y notación científica. null representa valor vacío.

{
  "count": 42,
  "price": 19.99,
  "negative": -1,
  "scientific": 1.5e10,
  "flag": true,
  "disabled": false,
  "empty": null
}

Arrays, objetos y strings vacíos

[] array vacío, {} objeto vacío, "" string vacío.

{
  "tags": [],
  "meta": {},
  "note": ""
}

Objetos

Pares clave:valor dentro de {}.

{
  "user": {
    "id": 1001,
    "email": "alice@example.com"
  }
}

Arrays

Elementos ordenados en []. También pueden ser el valor raíz:

Array en objeto
{
  "tags": ["json", "tutorial", "web"],
  "scores": [95, 88, 72]
}
Array raíz
[
  { "id": 1, "name": "Alice" },
  { "id": 2, "name": "Bob" }
]

Estructuras anidadas

Objetos y arrays combinados en varios niveles.

{
  "project": "QyCreate JSON",
  "version": 1,
  "features": ["format", "validate", "minify"],
  "settings": {
    "indent": 2,
    "theme": "light"
  },
  "contributors": [
    { "name": "Alice", "role": "author" },
    { "name": "Bob", "role": "reviewer" }
  ]
}

JSON vs JavaScript

JSON es formato de datos, no código ejecutable. Sin comentarios, funciones ni undefined.

Usa JSON.parse() y JSON.stringify(). JSON5 añade extensiones no estándar.

Errores comunes y corrección

Claves sin comillas, comillas simples o comas finales:

Inválido
{
  name: "Alice",
  "items": [1, 2, 3,],
}
Correcto
{
  "name": "Alice",
  "items": [1, 2, 3]
}

Practica con esta herramienta

Pega JSON o sube archivos hasta 4 MB. Carga ejemplo, formatea y minifica; la sangría facilita leer estructuras anidadas.

Errores con línea y columna; deshacer/rehacer; copiar o descargar. Todo local en el navegador.