viernes, 19 de junio de 2020

Lenguaje de intercambio JSON

JSON (JavaScript Object Notation - Notación de Objetos de JavaScript) es un formato de intercambio de datos entre sistemas independientes del lenguaje de programación derivado de JavaScript. Sin embargo debido a que emplea convenciones muy empleadas por programadores en la rama del lenguaje C, muchos lenguajes de programación han incluido código para generar y analizar datos en este formato para convertirlos en convertirlos en objetos del lenguaje propio, así se puede concluir que este presenta facilidad de entendimiento tanto para humanos como computadores.

Composición

JSON se construye a partir de dos tipos de estructuras
  • Colección de pares de clave/valor.
    • En lenguajes de programación se tranforman o provienen de un objeto, registro, estructura, diccionario, tabla hash, lista de claves o un arreglo asociativo.
  • Lista de valores. 
    • En lenguajes de programación, esto se implementa o proviene de arreglos, vectores, listas o secuencias.

Sintaxis


En el caso de objetos individuales, este esta delimitad por llaves, dentro aparecen los pares clave valor separados por dos puntos (:) cumpliéndose lo siguiente:
  • La clave siempre será una cadena de texto, el valor puede ser de tipo lógico, textual o numérico.
  • Los valores pueden tomar tres tipos:
    • En el caso del lógico puede ser true o false sin necesidad de comillas
    • En el caso del numérico se emplea el punto para separar enteros de decimales
    • En el caso del texto debe ir entre comillas.

Nota: Se puede dar el caso que el valor de una clave es otro objeto o una colección de estos.

Ejemplo en código:
{
 "alive":true,
 "birthday":"1993-05-17",
 "dni":"96584422",
 "name":"Paul",
 "weight":62.7
}

En el caso de colecciones de objetos, los objetos mantienen su notación anterior y se separan por comas. Además, toda la colección de objetos esta delimitada por corchetes "[" y "]"

Ejemplo en código:
[
 {
  "birthday":"1993-02-07",
  "dni":"10084422",
  "name":"Milagros",
  "weight":52.7
 },
 {
  "birthday":"1992-10-01",
  "dni":"00084422",
  "name":"Yadira",
  "weight":57.0
 },
 {
  "birthday":"1990-01-21",
  "dni":"41557422",
  "name":"Alejandra",
  "weight":49.9
 }
]

En el ejemplo anterior podemos encontrar una colección de tres objetos.


Anidamiento en JSON.

{
   "address":{
      "country":"Peru",
      "department":"Lima"
   },
   "alive":true,
   "birthday":"1993-05-17",
   "dni":"96584422",
   "languages":[
      "Spanish",
      "English"
   ],
   "name":"Paul",
   "pets":[
      {      
         "name":"Argos",
         "type":"dog"
      },
      {      
         "name":"Gardfield",
         "type":"cat"
      }
   ],
   "weight":62.7   
}

Se puede apreciar lo siguiente:

  • La dirección esta compuesta por país y departamento.
  • Tiene un campo lógico llamado "alive"
  • Las fechas viajan en formato de texto
  • Los números como  "weight" no requieren de comillas, pero los códigos como el DNI sí.
  • El campo languages tiene una colección de valores sin clave.
  • En el campo "pets" el valor es una lista de dos objetos con sus propias claves y valores.

No hay comentarios:

Publicar un comentario