A principios de la década de 2000, las aplicaciones web necesitaban mover datos estructurados entre servidores y navegadores. XML tenía impulso, pero era verboso y requería analizadores y esquemas; trabajar con él en JavaScript resultaba penoso, que es exactamente donde tenían que acabar los datos.
Douglas Crockford especificó JSON como un formato ligero construido sobre las dos estructuras universales, los objetos de nombre/valor y las listas ordenadas, y lo basó deliberadamente en un subconjunto del Estándar del Lenguaje de Programación JavaScript (ECMA-262, 3.ª edición). Un navegador podía, por tanto, analizarlo de forma nativa, y la especificación de json.org se publicó abiertamente para que cualquiera pudiera implementarla.
JSON se difundió primero entre los creadores de API web y luego por todas partes. En 2017, el IETF publicó la RFC 8259, The JavaScript Object Notation (JSON) Data Interchange Format, que lo describe como derivado del Estándar del Lenguaje de Programación ECMAScript, y se convirtió en el formato de intercambio de datos predeterminado para los servicios web.
Ser un subconjunto del lenguaje que te leerá
La sintaxis nativa de JavaScript hizo que el cliente más importante lo analizara sin maquinaria adicional alguna.
Las dos estructuras de datos se corresponden directamente con los objetos y arreglos de todos los lenguajes convencionales.
Una especificación abierta y simple eliminó las barreras de licencias y de aprendizaje.
El formato ganador reduce el costo de la primera integración: al coincidir con la sintaxis nativa del consumidor dominante, JSON hizo gratuito el primer análisis del lado del navegador, y cada adaptación posterior siguió ese camino.
La RFC 8259 formalizó JSON como estándar del IETF en 2017, y prácticamente todos los lenguajes de programación incluyen un analizador. Se convirtió en la carga útil predeterminada de las API web y en el modelo de una generación de almacenes de documentos NoSQL, mientras XML se replegó a nichos centrados en documentos.
CONSULTA LAS PRUEBAS
Las fuentes
- RFC 8259: The JavaScript Object Notation (JSON) Data Interchange Format IETF · datatracker.ietf.org
- Introducing JSON (json.org) JSON.org · json.org