La historia detrás del formateador JSON

JSON es hoy el formato que hablan la mayoría de las API web y, sin embargo, ningún comité lo diseñó. Se descubrió más que se inventó: un pequeño subconjunto de JavaScript que bastaba justo para intercambiar datos entre programas.

Llaves y bloques de datos anidados que forman un árbol luminoso
Llaves y bloques de datos anidados que forman un árbol luminoso

Un formato descubierto

Hacia 2001 Douglas Crockford y sus colegas de State Software buscaban una forma de que un navegador y un servidor intercambiaran datos sin plugins. Usaron los literales de objeto y array que JavaScript ya entendía, le pusieron nombre a la idea y publicaron la gramática en json.org, tan breve que cabe en el reverso de una tarjeta de visita.

Por qué no hay comentarios

Muy pronto Crockford quitó los comentarios de JSON porque había quien metía en ellos directivas para el analizador, lo que habría roto la interoperabilidad. Su consejo era eliminar los comentarios con un minificador antes de analizar. Por eso un formateador marca un comentario como carácter inesperado, y por eso existen formatos como JSON5 y JSONC para archivos de configuración.

De una página web a un estándar

JSON se describió por primera vez en la RFC 4627 en 2006. Ecma publicó ECMA-404 en 2013 y el IETF sustituyó los textos anteriores por la RFC 8259 en 2017, que exige UTF-8 para el JSON intercambiado entre sistemas. La gramática apenas ha cambiado desde json.org: objetos, arrays, cadenas, números, true, false y null.

Números y rutas

JSON no limita los números, pero la mayoría de los analizadores los guarda como coma flotante de 64 bits, así que los enteros mayores que 9007199254740991 pueden perder precisión sin aviso. Por eso los identificadores grandes suelen enviarse como cadenas. Para señalar un valor, Stefan Goessner propuso JSONPath en 2007, inspirado en XPath, que se convirtió en el estándar RFC 9535 en 2024. Las rutas que copia este formateador siguen esa notación con dólar y corchetes.

Preguntas frecuentes

¿Quién inventó JSON?

Douglas Crockford especificó y popularizó JSON a principios de los años 2000, aunque dice que lo descubrió, porque es un subconjunto de JavaScript que ya existía.

¿Por qué JSON no admite comas finales ni comillas simples?

La gramática se mantuvo lo más pequeña posible para que todos los lenguajes la analicen igual. Cada comodidad extra sería otra ocasión para que dos analizadores no coincidan.

¿JSON es lo mismo que un objeto de JavaScript?

No. JSON es texto. Las claves requieren comillas dobles, y las funciones, undefined, los comentarios, NaN e Infinity no están permitidos, aunque JavaScript los acepte en el código.

¿Listo para probarlo?

Abra PictorX en su navegador: no requiere instalación ni tarjeta de crédito para comenzar.

Abrir el formateador JSON