Todo lo que hay en esta pagina cabe en una pantalla a proposito: la sintaxis de JSON es suficientemente pequena como para que una referencia completa no necesite ser larga. Lee aqui, o descarga la misma referencia como imagen para tenerla offline o imprimir.

1. Estructura
JSON se escribe como pares de clave-valor dentro de un objeto ({ }) o como una
lista ordenada dentro de un array ([ ]). Las claves siempre son cadenas de texto. Los valores pueden
ser una cadena, un numero, un booleano, null, un array u otro objeto, anidados tantos
niveles como los datos lo requieran.
{
"name": "Ada",
"age": 36,
"active": true,
"skills": ["json", "css"],
"address": { "city": "London" },
"nickname": null
}
2. Reglas de sintaxis
- Las claves y los valores de tipo cadena usan comillas dobles. Las comillas simples no son JSON valido.
- Un dos puntos separa cada clave de su valor.
- Una coma separa los pares y los elementos del array, sin ninguna despues del ultimo.
- Los arrays son listas ordenadas, valores separados por comillas.
- No hay comentarios. El JSON estandar no tiene sintaxis de comentarios, ni
//ni#.
3. Tipos de datos
| Tipo | Ejemplo | Notas |
|---|---|---|
| Cadena | "hello" |
Solo comillas dobles |
| Numero | 42, -3.14 |
Sin hexadecimal, sin NaN, sin ceros a la izquierda |
| Booleano | true, false |
En minusculas, sin comillas |
| Null | null |
En minusculas, sin comillas |
| Array | ["a", 1, true] |
Ordenado, se permiten tipos mixtos |
| Objeto | {"key": "value"} |
Las claves siempre son cadenas |
Tipos de datos JSON explicados analiza cada uno de estos con los casos limite que pueden confundir a los analizadores.
4. Operaciones comunes (JavaScript)
JSON.parse(text) // cadena -> valor, lanza error en JSON invalido
JSON.stringify(value) // valor -> cadena
JSON.stringify(value, null, 2) // impreso formateado, sangria de 2 espacios
value.key // leer una clave despues de analizar
value.nested.key // leer una clave anidada
5. Ejemplos
Array de objetos
[
{ "id": 1, "name": "Ada" },
{ "id": 2, "name": "Linus" }
]
Objeto anidado
{ "user": { "id": 1, "verified": true } }
Tipos mixtos
{ "tags": ["a", "b"], "score": null, "live": false }
6. Buenas practicas
- Usa nombres de clave significativos y consistentes.
- Manten las estructuras lo mas planas que los datos permitan razonablemente.
- Valida el JSON antes de analizar una entrada que no generaste tu.
- Usa arrays para listas, no objetos con claves que parezcan numericas.
- Pon entre comillas los enteros grandes como cadenas si la precision exacta importa; un ID de
64 bits puede redondearse en un
JSON.parsenormal (ve Tipos de datos JSON). - Maneja los errores de analisis explicitamente. Nunca asumas que una entrada es JSON valido solo porque normalmente lo es.
Donde seguir
- Que es JSON?, la version para principiantes de esta pagina.
- JSON vs YAML y JSON vs XML, para cuando JSON no es el formato adecuado.
- El Formateador JSON y el Validador JSON, para comprobar un documento real contra todo lo anterior.