JSON

JSON es una notación que se basa en la forma que tiene JavaScript de guardar la información de los datos. A diferencia de XML su validación dependen del software que lo procese, pero resulta muy útil gracias a que esta orientado a objetos y que reduce consideramente los caracteres que definen su estructura, dejando prácticamente todo el peso del documento a los datos que contiene.

Para crear un documento JSON debemos seguir las siguientes reglas:

  • Los datos deben estar separados por comas.
  • Los datos se pondrán con la estructura «clave:valor».
  • Tanto las claves como los valores irán entre comillas.
  • Los objetos JSON se definen por llaves “{}”.
  • Los arrays van con corchetes [].
  • Tanto los objetos como los arrays pueden contener otros objetos o arrays.

Partiendo del ejemplo representado vemaos las diferentes posibilidades que nos da JSON, para el alamacenamiento de los datos.

 

  1. Para definir un objeto utilizamos las llaves {}.

 {

«nombre»:»valor»

}

  1. Para definir varios elementos los separaremos por comas «,».

{

«nombre»:»Juan»,

«apellidos»:»Gonzalez»

}

  1. También podemos poner varios objetos, igualmente los separamos por comas «,».

{

«nombre»:»Juan»,

«apellidos»:»Gonzalez»

},

{

«nombre»:»María»,

«apellidos»:»Alonso»

},

{

«nombre»:»José»,

«apellidos»:»amohedo»

}

  1. JSON permite la definición de arrays con el uso de los corchetes [ ].

{

«nombre»:»juan»,

«edad»:30,

«coches»:[ «Ford», «BMW», «Fiat» ]

}

  1. Los arrays pueden contener tanto valores como objetos.

Recuerda, un array es un conjunto de elementos organizados en memoria en posiciones contiguas. Todos los elementos son del mismo tipo y se puede acceder a ellos a partir de subíndices.

{

«nombre»:»juan»,

«edad»:30,

«coches»: [

{ «nombre»:»Ford», «modelo»:[ «Fiesta», «Focus», «Mustang» ] },

{ «nombre»:»BMW», «modelo»:[ «320», «X3», «X5» ] },

{ «nombre»:»Fiat», «modelo»:[ «500», «Panda» ] }

]}

Tipos de datos

Los tipos de datos soportados por JSON son:

  • string: cadenas de texto.
  • number: datos numéricos.
  • object: objetos JSON.
  • arrays: arrays, vectores, etc.
  • boolean: datos booleanos (true, false).
  • null: valores nulos.

JSON frente a XML

Tanto JSON como XML se usan para intercambiar información entre ordenadores o programas, además de almacenar datos, como configuraciones de un servidor o aplicación, etc.

Inicialmente podemos pensar que JSON, al ser más breve a la hora de definirlo, es mejor que XML. Pero los dos están profundamente implantados en todos los lenguajes y sistemas informáticos.

Veamos un ejemplo con la misma información en los dos sistemas:

Ejemplo JSON:

Ejemplo XML:

Lecturas recomendadas: