¿Qué es JSON?
JSON (JavaScript Object Notation) es el formato de texto más usado para intercambiar datos entre programas: lo devuelven casi todas las APIs y se usa en ficheros de configuración de todo tipo. Está definido en el estándar RFC 8259 y solo tiene seis tipos de valores: objetos ({}), listas ([]), cadenas entre comillas dobles, números, true o false, y null.
Errores más comunes
- Comillas simples: en JSON, las cadenas y las claves van siempre entre comillas dobles.
{'a': 1}no es válido. - Comas de más: no puede haber una coma después del último elemento, como en
[1, 2, 3,]. - Claves sin comillas:
{nombre: "Ana"}es JavaScript, pero no JSON. - Comentarios: JSON no los admite, ni con
//ni con/* */. - Valores que no existen en JSON:
undefined,NaNoInfinity.
¿Formatear o minificar?
Formatear añade saltos de línea y sangría para que el JSON se lea bien. Minificar hace lo contrario: quita todos los espacios que sobran para que ocupe lo mínimo, que es lo que conviene para enviarlo por una API o guardarlo. Los datos son los mismos en los dos casos.
Cuidado con los números grandes
JavaScript solo guarda con exactitud los enteros de hasta 15 o 16 cifras (hasta 9.007.199.254.740.991). Muchos formateadores pasan el JSON por JSON.parse, así que un identificador como 12345678901234567890 se convierte sin avisar en 12345678901234567000. Este no: reformatea el texto sin interpretarlo y los números quedan exactamente como estaban. Si diseñas una API con identificadores largos, lo más seguro es enviarlos como cadenas.