JavaScript Object Notation (JSON para abreviar y pronunciado de manera muy similar al nombre ‘Jason’), es un tipo de formato de intercambio de datos. Como lo demuestra su nombre, JSON proviene de JavaScript, pero no es el único propietario de código que permite su utilización. De hecho, muchos otros lenguajes de programación lo tienen disponible para su uso, incluyendo Ruby, PHP, Python, y Java.
Cuando existe por sí solo, el archivo JSON utiliza la extensión .json, pero al ser un formato que se transmite fácilmente entre un servidor web y un cliente (o navegador), también se puede definir como un formato .html. En este caso, puede ser un objeto asignado a una variable o aparecer como una cadena JSON entre comillas.
JSON es una buena alternativa a XML, ya que es más legible y requiere un formato mínimo. Este tutorial le enseñará sobre los datos que se pueden almacenar en archivos JSON, así como la sintaxis y estructura general del formato.
Estructura & Sintaxis
Un objeto JSON es un formato de datos que utiliza llaves para representar pares clave-valor. Al tratar con JSON, la mayoría de las veces lo verá representado en archivos .json, pero en el contexto de un programa, también puede existir como una cadena o un objeto JSON.
Aquí hay un ejemplo de cómo se ve un objeto JSON:

Aunque este es un ejemplo bastante corto, y los objetos JSON pueden ser mucho más largos, demuestra con precisión cómo se configura normalmente el formato con dos llaves (o corchetes) en cada extremo, con pares clave-valor llenando el espacio intermedio. La mayoría de los datos en JSON están encapsulados en un elemento JSON.
Hay dos puntos que delimitan los pares clave-valor (“clave” : “valor”). Cada uno de estos pares se separa como diferentes miembros de la lista mediante una coma. Esto da como resultado que la parte central de un formato JSON sea de la siguiente manera: “clave” : “valor”, “clave” : “valor”, “clave” : “valor”. En el ejemplo anterior, "name" : "Akshay" es el primer par clave-valor, por ejemplo.
Las claves de cada objeto deben ser únicas, pueden representarse como cualquier cadena válida, estar entre comillas dobles (“clave”), y siempre se colocan al lado izquierdo de los dos puntos. Aunque se permiten espacios en blanco en las cadenas de claves (como en “first name”), esto presenta un enfoque más desafiante desde el punto de vista de la programación en términos de acceso. Por esa razón, la práctica de programación comúnmente adoptada es sustituir los espacios en blanco en las claves con guiones bajos (“first_name”).
Los valores en JSON se colocan a la derecha de los dos puntos. En su granularidad más básica, estos deben ser uno de 6 tipos de datos particulares:
- Números
- Objetos
- Arreglos (Arrays)
- Cadenas (Strings)
- Verdadero o Falso (Booleano)
- Nulo (Null)
La siguiente sección cubrirá tipos de datos más complejos de la matriz de objetos JSON, y cada valor pasado a JSON conservará su sintaxis. En otras palabras, las cadenas seguirán apareciendo entre comillas mientras que el valor numérico no.
El formato JSON se presenta normalmente en un formato de varias líneas por convención. Sin embargo, también se puede formatear en una sola línea:

Este tipo de formato es más común cuando se encuentra una cadena JSON o dentro de otro tipo de archivo. Al trabajar con grandes conjuntos de datos, escribir los dos puntos y los pares clave-valor en líneas individuales hace que la lista sea más legible para el ojo humano, ya que JSON carece de la ayuda de separación de los espacios en blanco:

Aunque el objeto JSON se parece a JavaScript, es importante tener en cuenta que son formatos distintos. Mientras que JavaScript permite el uso de funciones, JSON no. Lo que hace que JSON sea tan valioso es su compatibilidad entre lenguajes, lo que permite que todas las plataformas de programación lo interpreten.
Hasta ahora solo hemos visto el formato JSON en su forma más simple, pero puede evolucionar jerárquicamente y de una manera más compleja cuando incluye objetos y arreglos anidados. En la siguiente sección, veremos JSON más avanzado.
Utilización de tipos JSON complejos
Además de los arreglos anidados, JSON también puede almacenar objetos anidados. Estos objetos y arreglos se transferirán como valores para las claves, y se asociarán con claves para formar pares clave-valor.
- Formación de objetos anidados
In el siguiente users.json imagen de archivo, hay un objeto JSON anidado transmitido para cada uno de los cuatro usuarios (“akshay”, “sam”, “Andrew”, “James”). Cada usuario posee sus propias claves anidadas (“location” y “username”):

La parte resaltada representa un ejemplo del primer objeto anidado. Las llaves se utilizan en el ejemplo anterior para crear un objeto JSON anidado con un nombre de usuario y detalles de posición correspondientes para cada uno de los cuatro usuarios. Al usar objetos, se utilizan comas para distinguir los elementos según el atributo de usuario particular.
- Formación de arrays anidados
Los arrays de Javascript pasados como valor también se pueden aprovechar para anidar datos dentro del formato JSON. Esto se hace utilizando [ ] (corchetes) al final de los tipos de array, siendo los arrays listas estructuradas con tipos de datos únicos incluidos:

En la sección resaltada de los ejemplos anteriores, los 2 sitios de perfil de redes sociales y los 2 enlaces a sitios web de Akshay’s se utilizan cada uno dentro de un array de información anidada, debido a la presencia de los corchetes. Al involucrar el anidamiento de esta manera en JSON, podemos lograr más versatilidad al trabajar con contenido de datos jerárquico y complejo.
- Comparación con XML
Extensible Markup Language (XML) proporciona un método para almacenar datos al que pueden acceder tanto máquinas como humanos. Al igual que JSON, XML puede ser utilizado por muchos lenguajes de programación. A diferencia de JSON, XML implica significativamente más texto y, por lo tanto, es más complejo y requiere más tiempo de preparación. Mientras que una función estándar puede analizar JSON, XML requiere un analizador específico de XML. Además de eso, XML no puede hacer uso de arrays. Comparemos los mismos datos formateados en XML frente a JSON:

XML requiere significativamente más texto y ocupa más espacio. También requiere etiquetas de cierre, mientras que JSON es mucho más compacto y de disposición más sencilla. Aquellos familiarizados con HTML probablemente puedan notar la similitud en el uso de etiquetas por parte de XML.
Antes de decidir qué formato utilizar, siempre ayuda evaluar el alcance y las necesidades del proyecto. JSON es menos detallado, más ligero y rápido de usar para aplicaciones AJAX y otras situaciones. El tipo de proyecto ayudará a ilustrar las estructuras de datos más adecuadas para utilizar.
Más información sobre JSON
JSON es un formato versátil y natural que se puede implementar en múltiples lenguajes de programación. Podrá encontrar la lista completa de lenguajes compatibles en la página “Introducing JSON” page. Además, la información de análisis y compatibilidad se puede encontrar en la “biblioteca iQuery”.
Al final, lo más probable es que no escriba JSON puro con demasiada frecuencia. En su lugar, lo obtendrá de fuentes de datos o traducirá otros archivos de datos a JSON. Utilizando la herramienta de código abierto Mr. Data Converter, puede traducir datos en formato CSV o delimitados por tabulaciones que se encuentran en programas de hojas de cálculo a JSON. Con la plataforma con licencia Creative Commons utilities-online.info, puede traducir XML a JSON y viceversa. Al utilizar software automatizado, vuelva a comprobar los informes para eliminar cualquier redundancia.
También puede utilizar JSONLint para verificar su JSON y JFiddle para evaluarlo en un contexto de desarrollo web al convertir otros tipos al formato JSON.
Conclusión
Al obtener un mayor soporte de API (incluida la API de Twitter), JSON es un formato de datos ligero que promueve la simplicidad al editar, almacenar y compartir datos. Dado que no generará sus propios archivos .json, sino que los recibirá de otros medios, es más importante pensar en cómo utilizar JSON en sus programas en lugar de en su estructura.
Aquí tiene más recursos de nuestro blog que le ayudarán a programar con JavaScript:
- Aprenda cómo funcionan los prototipos y las herencias en Javascript
- Explore en detalle cómo agregar JavaScript a HTML.
- Si está creando su propia aplicación web, eche un vistazo a nuestra guía sobre cómo elegir la mejor configuración de servidor.
¡Feliz computación!
Comentarios
Aún no hay comentarios. Sea el primero.