Tabla de contenidos
JSON proporciona un estándar simple para la codificación estructurada de datos en forma de texto legible por humanos. Esto ofrece ventajas para el procesamiento posterior automatizado, pero también lo hace más accesible para la inspección y revisión manual.
Con la ayuda de JavaScript Object Notation, o JSON para abreviar, los datos se pueden guardar y transmitir de forma legible por humanos y máquinas. YAML y XML, por ejemplo, también siguen un enfoque similar.
El nombre JavaScript Object Notation sugiere una estrecha conexión entre JSON y el lenguaje de scripting, que se ha estandarizado como ECMAScript desde 1997. Esta suposición es correcta en la medida en que el formato de datos se deriva de JavaScript. En su aplicación, sin embargo, no se limita al lenguaje de escritura.
JSON hace un trabajo similar al XML. El formato almacena datos en una forma estructurada y legible por humanos y máquinas. Para hacer esto, usa pares de nombre-valor y formato con llaves. Se utiliza para serializar estructuras de datos internas del programa para la comunicación de datos, así como para transferirlas al almacenamiento permanente. Una de las principales ventajas de JSON es la simplicidad de implementación y uso. YAML es otra alternativa que ha sido un superconjunto estricto de JSON desde la versión 1.2.
Origen y aplicación de la notación de objetos JavaScript
Diseñado a principios de la década de 2000, se suponía que JSON permitiría aplicaciones web que, a diferencia de las aplicaciones Java y Flash habituales en ese momento, se pueden ejecutar directamente en el navegador sin complementos. Por lo tanto, el formato de datos se desarrolló inicialmente para su uso en protocolos de comunicación.
Es al menos tan adecuado como un formato de archivo para archivos de configuración y almacenamiento de datos generales. La extensión de archivo «.json» es común aquí. Por lo tanto, JSON duplica la funcionalidad del formato XML previamente existente, del cual se diferencia en su enfoque generalmente simplificado.
Desde 2017, JSON ha sido definido por dos estándares independientes pero sincronizados que formalizan diferentes aspectos del formato de datos. Si bien ECMA-404 solo define la sintaxis JSON, RFC 8259 también proporciona notas de aplicación destinadas a una mayor interoperabilidad.
¿Cómo se relacionan JSON y JavaScript?
Aunque JSON proviene de JavaScript, los dos no son 100% compatibles. Por un lado, el formato de datos contiene simplificaciones; por otro lado, permite la entrada desenmascarada de separadores de final de línea y párrafo del juego de caracteres Unicode, que JavaScript no acepta.
La incompatibilidad en la otra dirección afecta particularmente a los siguientes tipos de datos de JavaScript, que son desconocidos en JSON: indefinido, Conjunto, Mapa, Fecha, Error, Expresión regular, Función, Promesa. Es necesaria una conversión para el intercambio de datos con JSON. Por ejemplo, las fechas se pueden convertir en cadenas para exportar. Existen estándares para tales conversiones, pero ninguno es ampliamente aceptado.
Aparte de estos problemas aislados de compatibilidad, el formato de datos se ha integrado muy bien en el lenguaje de script desde la versión 5 de ECMAScript a más tardar. Un registro de datos con formato JSON se puede importar directamente usando la función «JSON.parse ()».
Propiedades esenciales de la representación numérica en JSON
JSON tiene un concepto muy simple para representar valores numéricos. El formato de datos ni siquiera diferencia entre números enteros y de coma flotante. También se admite una representación exponencial, pero la interpretación de los valores depende de la implementación. No especifica si un entero, un número decimal y uno en notación científica que tienen el mismo valor numérico se interpretan como iguales o no iguales por una implementación JSON.
JSON y XML en comparación
JSON apunta a las mismas áreas de aplicación que XML, pero adopta un enfoque muy simplificado. Eso va tan lejos como antes de la posibilidad de incluir comentarios en un documento JSON.
Si bien la mecanografía estricta y la especificación de una estructura de documento formal, los tipos de datos y etiquetas específicos del usuario a través de esquemas son estándar con XML, por lo que la validación formal de documentos XML y flujos de datos es posible, este concepto solo está disponible como complemento para JSON. Además, la estandarización del esquema JSON en forma de borrador de Internet se persigue con bastante desgana.
Por otro lado, JSON formatea datos estructurados de manera similar a XML, pero comparativamente compacto. La diferencia de tamaño de un conjunto de datos formateados depende del tipo de codificación, que se puede realizar de dos formas diferentes con XML. Los tipos de datos simples de una estructura se pueden guardar tanto como etiquetas XML como en forma de atributos, siendo el último tipo de codificación tan compacto como en JSON.
No te vayas sin leer: ¿Qué es el mantenimiento de software?
Ventajas y debilidades de JSON
Una descripción general de las ventajas y desventajas más importantes de la notación de objetos de JavaScript:
+ Facilidad de implementación y uso.
+ fácil integración en JavaScript con «JSON.parse ()», de ECMAScript versión 5.
– definición de número difuso.
– No hay estándares universales para convertir tipos de datos JavaScript no compatibles.