Saltar al contenido

¿Qué es el formato JSON y para qué sirve?

noviembre 15, 2020

Cuando trabajamos en la creación de aplicaciones, ya sea para computadoras, celulares, tabletas, la web, etc, en muchas ocaciones necesitamos enviar información de una aplicación a otra y en la mayoría de los casos las aplicaciones están construidas con lenguajes de programación diferentes. Este es un verdadero problema, por eso nace JSON.

JSON es un formato de intercambio de datos que vino a ponerle fin a un problema que afrontaban los programadores al rededor del mundo. El formato de la comunicación se estandarizó y permitió que no tuvieran que pasar horas discutiendo los por menores de los objetos a enviar, ahora con tener una URL basta para saber que datos estoy recibiendo y en base a eso sé que programar.

Podría interesarte: HTTP: Consumiendo un API en Flutter

Imagina que tu quieres crear un aplicación que consuma la información que estás guardando desde una web, en primera instancia los objetos que se usan en Java (el lenguaje con el que se programa para Android) no son iguales a los objetos que se crean en Javascript (programación para la web) por lo tanto la comunicación sería muy complicada, se tendría que trabajar en un software que se encargara de convertir un objeto a otro, esto alentaría el proceso y generaría más costos.

¿Cómo funciona JSON? jsonformat

JSON está formado por una colección de tipo { «clave» : «valor» } , separando los campos por comas ( , ) y con eso es posible formar cualquier tipo de objetos tan complejos como puedas imaginarlos. En todos los casos tendremos una estructura de datos de tipo clave valor, esto facilita mucho el trabajo en todos los lenguajes.

Este tipo de estructuras son conocidos de diferentes maneras en diferentes lenguajes de programación, objetos, maps, registro, estructura, diccionarios, hash, listas, tabla, etc. Pero todos cumplen los mismos principios, una estructura de tipo clave – valor.

Vamos a crear un ejemplo de un JSON válido, en este caso vamos a crear un JSON que nos devuelva información de un usuario. Vamos a imaginas que tenemos un formulario de registro en la web y queremos ver en nuestra aplicación en nuestro smartphone. Este quedaría así:

{
 "name" : "José",
 "last_name" : "Galdámez",
  "age" : 29,
  "country" : "Honduras"
}  

Este es un ejemplo de formato JSON. Como puedes ver está envuelto entre llaves { } esto es determinante y todo objeto JSON tiene que comenzar y terminar así. Dentro de las llaves encontramos el contenido del objeto.

Las palabras claves son en este caso son: «name», «last_name», «age», «country». Estos no son valores del objeto, esta es la clave con la que vamos a llamar el valor que necesitemos. Es decir, estas claves no cambiarán, aunque tratemos con varios usuarios, la clave será la misma, lo que cambiará será el valor.

Podría interesarte: ¿Qué es JSON Web Token? (JWT)

¿Y si necesitamos varios valores?

Vamos a hacer un ejemplo un poco más amplio, al anterior solo nos funcionaría si estamos accediendo a la información de un solo usuario, pero ¿y si necesitamos traer información de varios usuarios? para eso podemos hacer un arreglo, o un array de objetos. Quedaría así:

[
  {
    "name" : "José",
 	"last_name" : "Galdámez",
  	"age" : 29,
  	"country" : "Honduras"
  },
  {
    "name" : "Miguel",
 	"last_name" : "López",
  	"age" : 21,
  	"country" : "México"
  },
  {
    "name" : "Samanta",
 	"last_name" : "Smith",
  	"age" : 35,
  	"country" : "Colombia"
  },
]

En esta ocasión estamos comenzando el objeto con corchetes [ ] esto le dice a los sistemas que estamos por recibir una lista de objetos, generalmente estos objetos son iguales, es decir, tienen las mismas claves, pero distintos valores. Eso nos permite hacer recorridos en la instancia del objeto y poder utilizar todos los valores en diferentes lugares.

La forma de hacer el recorrido no importa demasiado, eso ya depende de cada lenguaje y no es el objetivo de este artículo explicar cómo hacer el recorrido. Pero adelantarles que se suele hacer con un ciclo for, accediendo a los index del array. Recuerda que los array en programación comienza con el index 0.

Objetos dentro de objetos

JSON nos permita agregar cualquier valor a una clave. Podemos agregar números, boleanos, arrays, strings e incluso otros objetos. Esto es muy utiliza en sistemas que son complejos y que requieren de mucha información que es llenada de forma modular.

Vamos a ver un ejemplo de esta forma de usar el formato JSON que seguramente es el que más usarán cuando hagas aplicaciones para el mundo real. Es muy raro hacer estructuras de JSON que sean simples, aunque siempre tienes que pensar en la apariencia que se mostrará en las pantallas para definir la información. Un objeto dentro de otro objeto quedaría algo así:

{
  "name" : "José",
  "last_name" : "Galdámez",
  "age" : 29,
  "address" : {
     "street" : "Primera calle",
     "neighborhood" : "Barrio El Centro",
     "city" : "El Progreso",
     "country" : "Honduras"
  }
}

Si te fijas, hemos cambiado el campo country, ya no estamos usando únicamente el país de origen, ahora estamos pidiendo todos los datos, la calle, el barrio, la ciudad y el país. Todos estos datos los tenemos como objeto dentro de una sola clave, la clave «address».

Ahora cuando hagamos un llamado a la clave «address» obtendremos un objeto al que podemos consultar sus claves propias. Es decir que tendríamos que asignar, por ejemplo, el valor de address a una variable y luego solicitar la clave street de esa variable. Es importante tener claro la información que se recibe para poder saber qué programar.

Como consultar la información de tipo JSON

Existen varias formar de verificar que estamos trabajando con un formato JSON válido. El más común es usar un programa como POSTMAN que te permite hacer consultas a direcciones y obtener los datos que devuelve cada URL. Esta es la aplicación que personalmente yo uso, porque tiene muchas otras funciones.

Otra forma colocar la URL directamente en el navegador y ver el texto de JSON en una página web. Verás solo texto, pero puedes instalar una extensión en tu navegador que te permita ver el texto con formato especial que coloree los textos para entender mejor las claves y los valores. En Chrome yo utilizo JSONView.

Eso es todo, espero que te haya gustado este artículo y más importante, espero que te haya servido. Saber qué es un formato JSON y como usarlo es muy importante en el mundo de la programación, así que si tienes alguna duda, puedes dejarlo en los comentario y con mucho gusto te contestaré. Hasta la próxima.