¿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, NaN o Infinity.

¿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.

Copiado al portapapeles.