HI I´M AN IDEA
WANNA PLAY
WITH ME?
 

Introducción a JSON y principales usos

He decidido escribir una serie de artículos dedicados a la notación JSON y sus distintas implementaciones.

JSON (JavaScript Object Notation) ha adquirido en estos últimos años dentro de la comunidad web debido principalmente a la sencillez de su implementación y que su uso está muy extendido en las respuestas de las APIs mas conocidas.

Cuando hablamos de JSON no estamos refiriéndonos solo a una forma de representar los objetos en javascript sino que es la forma en que javascript mapea los objetos en memoria, en conclusión, una manera extremadamente rápida de pasar datos entre dos interfaces.

¿Como Funciona?

JSON es capaz de manejar constructores de enteros, cadenas de caracteres, arrays y booleanos. Utilizando una sintaxis muy intuitiva podremos definir objetos y gracias al a función eval() de javascript crear objetos funcionales.

Otros lenguajes de programación como es el caso de PHP o ActionScript han implementado funciones para convertir de manera nativa un array asociativo de datos en una cadena de tipo JSON. En la web oficial de JSON hay ejemplos para los distintos lenguajes de programación.

Sintaxis.

Declaración de Objetos.

Los objetos de JSON se definen con una pareja de llaves asignada a una variable como cualquier otra.

var miObjeto = {}

Comencemos a agregar algunas propiedades a este objeto.

Cadenas de caracteres (string)

Como ejemplo práctico vamos a definir un objeto que me represente a mi.

var miObjeto = {nombre: 'Jaime'}

Hemos agregado una propiedad al objeto llamada nombre, para ello hemos escrito «nombre» dentro de la llave y le hemos asignado el valor ‘Jaime’.

Como queríamos que fuera del tipo «string» hemos puesto el valor a asignar entre comillas. Si quisiéramos acceder al valor de esta propiedad lo haríamos de la siguiente manera.

alert(miObjeto.nombre);

Enteros (Integer)

Si queremos asignar un valor de tipo entero no necesitaremos poner el valor entre comillas. Separaremos por ‘,’ las distintas propiedades.

var miObjeto = {nombre : 'Jaime', edad : 27}

Lógicos (Bool)

Al igual que los enteros los booleanos tampoco van entre comillas.

var miObjeto = {nombre : 'Jaime', edad : 27, casado : false}

Arrays

Los arrays pueden contener colecciones de todos los tipos mencionados antes. Definiremos los arrays entre corchetes separando los valores por comas.

var miObjeto = {

nombre : 'Jaime',

edad : 27,

casado : false,

aficiones : ['ver series', 'programar', 'tapear']

}

Para acceder a los valores del array deberemos utilizar una combinación de la notación para acceder a la propiedad junto con un indice, por ejemplo accedamos a la primera posición.

alert(miObjeto.aficiones[0]);

A su vez si quisiéramos rizar el rizo un poco, los arrays podrían contener objetos, veamos un ejemplo.

var miObjeto = {

nombre : 'Jaime',

edad : 27,

casado : false,

aficiones : ['ver series', 'programar', 'tapear'],

mascotas : [

{nombre : 'Dana', tipo : 'perro'},

{nombre : 'Nyan', tipo : 'gato'}

]}

Seguiremos usando la misma estructura de notaciones para acceder a los distintos valores.

Un dato a tener en cuenta, algunos lenguajes como ActionScript necesita que los nombres de las propiedades se pongan entre comillas.

En el siguiente artículo haremos alguna prueba con la API de twitter ;D, saludos!

 

About the author

Jaime Mulero Hola! Me llamo Jaime Mulero, soy programador desde hace años, apasionado por la informática prácticamente desde que tengo uso de razón. Jquery Ninja, Codeigniter Trooper, database juggler and Android engineer! Jaime Mulero

VN:F [1.9.20_1166]
Rating: 6.0/10 (2 votes cast)
Introducción a JSON y principales usos, 6.0 out of 10 based on 2 ratings
Difunde la palabra
  • Print
  • Digg
  • StumbleUpon
  • del.icio.us
  • Facebook
  • Yahoo! Buzz
  • Twitter
  • Google Bookmarks
  • Meneame

One Comment on "Introducción a JSON y principales usos"

  1. Matias Esteban dice:

    Agradezco el articulo, me ha sido de utilidad para meterme con JSON, realmente gráfico y fácil de entender, un saludo.

    VA:F [1.9.20_1166]
    Rating: 0.0/5 (0 votes cast)
    VA:F [1.9.20_1166]
    Rating: 0 (from 0 votes)

¿Algo que opinar? Deja tu comentario!