XML dio a los datos entre máquinas una gramática de etiquetas, espacios de nombres y esquemas: expresiva, y lo bastante pesada como para que enviar un registro simple significara escribir un documento. JSON tomó el camino opuesto: como dice su página de inicio, JSON se construye sobre dos estructuras, una colección de pares de nombre/valor y una lista ordenada de valores, escritas con las convenciones que ya resultan familiares a los programadores de C, C++, C#, Java, JavaScript, Perl y Python, que es exactamente por lo que esas páginas lo llaman un lenguaje ideal para el intercambio de datos.
El linaje del formato y su escape de JavaScript aparecen ambos en su estandarización. La RFC 8259, «The JavaScript Object Notation (JSON) Data Interchange Format», describe un formato de intercambio de datos ligero, basado en texto e independiente del lenguaje, derivado de los literales de JavaScript tal como se definen en ECMAScript: reconocible para todos los navegadores web, pero propiedad de ninguno de ellos. El Grupo de Trabajo sobre JSON de la IETF lo llevó a través de la RFC 7159 hasta la RFC 8259, convirtiendo a JSON en un Estándar de Internet en diciembre de 2017.
La consecuencia fue el desplazamiento. Donde antes las API negociaban esquemas XML, ahora devuelven objetos y arreglos que cualquier programador puede leer de un vistazo: un formato que llegó al proceso de estandarización solo después de su adopción, en lugar de necesitar el proceso de estandarización para reclutar adoptantes.
Dos estructuras bastan para toda API
Dos estructuras —objetos y arreglos— se componen en casi todas las formas de datos que los programas intercambian entre sistemas, por lo que el formato no necesitó ningún mecanismo de extensión.
Derivar la sintaxis de los literales de JavaScript hizo que el formato fuera legible al instante para la población de desarrolladores de más rápido crecimiento, mientras que la independencia del lenguaje mantuvo dentro a todas las demás comunidades.
No se requería ningún esquema ni vocabulario de etiquetas, por lo que una API podía cambiar su carga útil sin coordinar una definición de tipo de documento.
La estandarización a través de la IETF después de la adopción selló la interoperabilidad sin imponer el peso que hacía poco atractivo a su predecesor.
Un formato gana por sustracción: menos construcciones significan menos desacuerdos, y un formato de datos que cualquier programador puede leer sin documentación elimina la resistencia que estancó a predecesores más ricos.
La RFC 8259 convirtió a JSON en un Estándar de Internet oficial en diciembre de 2017, momento para el cual ya se había convertido en el formato de intercambio predeterminado para las API web, la configuración y los datos de registro: un caso poco frecuente de un formato que fue estandarizado por un grupo de trabajo que ratificó el comportamiento ya existente en el mundo.
CONSULTA LAS PRUEBAS
Las fuentes
- RFC 8259: The JavaScript Object Notation (JSON) Data Interchange Format IETF (Datatracker) · datatracker.ietf.org ·
- Introducing JSON json.org · json.org