Amigos en el mundo del desarrollo web, mas pronto o mas tarde llega el momento en el que necesitamos gestionar de forma mas ágil y sencilla la información debido al alto numero de datos que tenemos que almacenar, una alternativa mas liviana y fácil de usar que XML es JSON, una sintaxis de envío y recepción de datos en formato de texto que puede ser leído y utilizado como un formato de datos por cualquier lenguaje de programación.
JSON es el acrónimo de Javascript Object Notation, utiliza el código Javascript como modelo de datos y está definido en la tercera edición del estándar de Lenguaje de programación ECMAScript [ECMA], aunque esto no quiere decir que tenga que ir unido necesariamente a Javascript, es evidente que la secillez y simplicidad con la que podemos trabajar en Javascript con JSON ha generado un gran numero de seguidores de esta alternativa.
JSON es un estándar basado en texto plano por lo que puede ser interpretado por cualquier lenguaje de programación y compartir información con otros lenguajes distintos, uno de los ejemplos donde podemos trabajar con JSON es en aplicaciones interactivas que utilicen AJAX, donde será más sencillo el envío y recepción de los datos.
Los Datos
Vamos a ver la sintaxis de JSON, en primer lugar veremos los datos, estos se definen con una pareja de nombre/valor entre comillas dobles, primero se define el nombre y seguido de dos puntos se define el valor, el valor puede ser un dato de varios tipos, un número, una cadena, un booleano, un array, un objeto o un valor null.
"articulo":"cocina"
Los Objetos
Los objetos se escriben entre llaves { } y pueden contener múltiples datos (parejas de nombre/valor) separados por comas.
{"articulo":"cocina", "seccion":"24"}
Los Arrays
Los arrays se escriben entre corchetes [ ] y pueden contener múltiples objetos separados por comas.
[
{"articulo":"cocina", "seccion":"24"},
{"articulo":"puerta", "seccion":"19"},
{"articulo":"campana", "seccion":"18"}
]
"almacen":[
{"articulo":"cocina", "seccion":"24"},
{"articulo":"puerta", "seccion":"19"},
{"articulo":"campana", "seccion":"18"}
]
En Javascript
De momento es suficiente teoria para comenzar a practicar, que es como se aprende en programación, ¡programando!, asi que vamos a implementar el uso de este tipo de sintaxis mediante código Javascript, utilizando una sintaxis muy parecida a la del ejemplo anterior
<div id="exist"></div>
<script>
var almacen = [
{
"articulo":"cocina",
"seccion":"24"
},
{
"articulo":"puerta",
"seccion":"19"
},
{
"articulo":"campana",
"seccion":"18"
},
];
document.getElementById("exist").innerHTML = "Articulo: " +
almacen[0].articulo + " - " + "Seccion: " + almacen[0].seccion;
</script>
document.getElementById("exist").innerHTML = "Articulo: " +
almacen[0]["articulo"] + " - " + "Seccion: " + almacen[0]["seccion"];
Con jQuery
Como ya he dicho en varias ocasiones en este articulo, JSON es el mejor formato con el que podemos trabajar para enviar y recibir datos si estamos utilizando AJAX, si en Javascript nos puede resultar relativamente sencillo acceder a los datos por este medio, el framework de jQuery nos facilita todavía mas esta tarea con el método getJSON().
Utilizamos de nuevo el mismo archivo JSON para acceder con jQuery.
No olvides inculir el CDN de jQuery en el HEAD
<div id="exist"></div>
<script>
$.getJSON('pruebadatos.json', function(data) {
var output="";
for (var i in data) {
output+="Articulo: " + data[i].articulo + " - Seccion: " + data[i].seccion + "<br>";
}
document.getElementById("exist").innerHTML=output;
});
</script>