"El diseño es el embajador silencioso de tu marca"
- Paul Brand

JSON en Javascript

A día de hoy el formato JSON está en auge pues es una manera muy eficiente de manipular la información, es por ello que prácticamente todos los lenguajes enfocados a las webs traen métodos para trabajar con él.
En primer lugar, si este término es desconocido para vosotros, podéis buscar información en Internet, una breve definición es la que ofrece Wikipedia:

JSON, acrónimo de JavaScript Object Notation, es un formato ligero para el intercambio de datos. JSON es un subconjunto de la notación literal de objetos de JavaScript que no requiere el uso de XML.
La simplicidad de JSON ha dado lugar a la generalización de su uso, especialmente como alternativa a XML en AJAX.

Si queréis leer el artículo completo lo podéis consultar aquí

Ahora que ya tenemos claro que no se trata de un lenguaje ni un framework ni nada por el estilo, solo una forma de expresar la información, veamos como Javascript en este caso ofrece varios métodos para trabajar con ella, básicamente:

  • Transformar código JSON en un objeto con el que pueda trabajar
  • Transformar los objetos con los que trabaja en código JSON…

 

Como veis con JSON podemos serializar datos estructurados y deserializarlos con mucha rapidez, de manera que es una manera muy cómoda para enviar información, puede representar cuatro tipos primitivos(cadenas, números, booleanos, valores nulos) y dos tipos estructurados(objetos y arrays).

  • Las cadenas son Strings y se escriben entre comillas dobles.
  • Los números son Integers o Floats.
  • Los booleanos son true o false.
  • Los objetos se escriben entre llaves.
  • Los arrays se escriben entre corchetes.

Por supuesto tiene una sintaxis propia que debemos respetar, por ejemplo cuando trabajamos con un tipo estructurado las claves deben escribirse entre comillas dobles, la coma se usa para separar elementos pero no debemos poner comas finales (es decir, no hay que escribir la coma al final del último elemento).

Cuando escribes un número si pones un punto decimal después debes escribir al menos otro dígito.

Veamos un ejemplo de como se escribe un objeto, y un array de objetos

Se puede apreciar como cada uno de los objetos esta entre llaves, la clave «nombre» va entre comillas dobles, como su contenido es un String también va entre comillas dobles, el array «personas» se escribe entre corchetes y cada uno de sus elementos está separado por comas salvo el último, de manera que cumple con los estándares de JSON y es válido.

(Si necesitas información adicional y ejemplos puedes visitar la página de w3schools)

 

Comprobar si el JSON es correcto

Aunque seamos cuidadosos al escribirlo siempre se nos puede colar algun error, y si nuestro JSON es de un tamaño considerable, encontrarlo puede ser fastidiado, ¿de que manera podemos hacer esto?

Aunque igual os suena que existe una funcion que se llama eval(), pero el uso de eval está considerado como una mala práctica, la recomendacion es que simplemente intenteis parsearlo controlando el posible error con los bloques try/catch tal que asi:

Vosotros decidís cual os gusta más, aunque yo tiraría por el clásico, la razón es que el clásico es nativo en navegadores modernos y por lo tanto no necesito añadir Jquery a un proyecto solo para esto, otra razón es que la función de Jquery realiza comprobaciones adicionales que no son necesarias y por tanto es un poco más lenta, sin embargo si usas el de Jquery al menos tendrás la certeza de que se va a ejecutar en todos los navegadores.

Aquí tienes una tabla que indica a partir de que versión el navegador dispone de JSON nativo…

Chrome Firefox IE Opera Safari
Si 3.5 + 8.0 + 10.5 + 4.0 +

También disponemos de páginas que nos permiten copiar nuestro JSON y nos lo evalúan, arrojando los posibles errores que tengamos y porque se han producido, esta es la forma más cómoda de corregir los errores rápidamente.

Usar el try/catch nos proporcionará estabilidad al sistema, de manera que es bueno implementarlos siempre, y si falla, analizar los errores con alguna de estas páginas, os dejo algunas…

http://jsonlint.com/

http://jsonformatter.curiousconcept.com/

 

Los métodos de Javascript

Si trabajas en Javascript tienes dos métodos, de manera que si los tienes claro puedes manipular el formato JSON a tu antojo, comencemos…

Metodo JSON.parse(json,[reviver])

Este es el metodo para deserializar (parsear), que es convertir el JSON en un objeto de Javascript.

Este método debe recibir el JSON, que será la cadena que transformará en un objeto, y opcionalmente el reviver (resucitador), que puede modificar el JSON antes de ser devuelto, las claves y los valores se leen individualmente mediante el resucitador como un bucle, y en ese proceso podemos manipularlos y de esa manera devolver el JSON ya modificado.

 

The following two tabs change content below.
Especialista en diseño web responsive, programador html5, css3, jquery, php y java.

Latest posts by Óscar Lijó (see all)