Estructura JSON
El formato JSON consta de dos pares de llaves {} y [] que contienen la estructura donde cada atributo y valor no numérico se ingresará entre comillas { “atributo”: “valor” } , separados por comas para aglomerar más atributos y valores { “atributo”: “valor”, “atributo” : “valor”, “atributo: “valor” }. Dependiendo de la complejidad del objeto a codificar, la estructura puede llevar (o no) valores.
¿Cómo aplicar el formato JSON a un “objeto”?
Para aplicar un formato JSON a un objeto es necesario organizar el contenido de tal manera de que cada atributo cuente con valores, sean éstos nulos, cadenas de textos, enteros o arreglos. Por ejemplo, si el objeto presenta los siguientes datos:
Usuario 1
Nombre: Pedro
Apellido: Pérez
Usuario: Pedrope
Edad: 18
País: Chile
En formato JSON, deberíamos ingresar:
{
"usuario1":
{
"nombre":"pedro",
"apellido":"perez",
"user":"pedrope",
"age":18,
"country":"chile"
}
}
Si se necesita agregar más objetos (otro usuario en este caso), basta con agregar otra estructura separando por comas:
{
"usuario1":{
"nombre":"pedro",
"apellido":"perez",
"user":"pedrope",
"age":18,
"country":"chile"
},
"usuario2":{
"nombre":"juan",
"apellido":"gonzalez",
"user":"juangonza",
"age":20,
"country":"argentina"
}
}
Los valores de nuestra estructura JSON también pueden ser arreglos (arrays), definiéndonos mediante corchetes [ ]:
[1,2,3,4,5,6]
Conclusiones
El formato JSON es el ideal para intercambiar datos de forma rápida y efectiva entre servidores debido a su ligereza. Si tomamos el ejemplo anteriormente presentado y lo presentamos en formato XML, podemos apreciar mejor la síntesis de caracteres que requeire el formato JSON:
18
perez
chile
pedro
pedrope
20
gonzalez
argentina
juan
juangonza
Por supuesto, mientras más datos se requiera compartir, más apreciable será esta característica.
A pesar de la eficiencia de JSON a la hora de trabajar datos estructurados, al día de hoy hay instituciones privadas y estatales que aún continúan utilizando XML como Servicio de Impuestos Internos mediante sus APIs para desarrolladores.