JSON para intercambio de datos
JSON, acrónimo de Javascript Object Notation, es un modelo de intercambio de datos más ligero, que surgió como alternativa al estándar XML, especialmente para aquellos que desarrollan con AJAX. Además es mucho más simple de escribir un analizador semántico que para el caso de XML. Y para los que desarrollan con Javascrip, el análisis semántico es tan simple como evaluar el código JSON con la función eval() mediante lo cual se obtiene un objeto con propiedades, que a su vez pueden contener otros objetos o arrays de objetos y estos pueden contenero otros objetos y así seguir sin límites.
Aunque JSON se basa en Javascript, su formato se hizo tan popular que hoy día existen implementaciones para casi todos los lenguajes. Y un empujón grande para esta tecnología es el hecho de que Yahoo a comenzado a ofrecer sus Web Services en formato JSON.
Lea el resto del artículo haciendo clic aquí
La lista de lenguajes soportados incluye ActionScript, C, C#, ColdFusion, Common Lisp, E, Java, JavaScript, ML, Objective CAML, Perl, PHP, Python, Rebol, Ruby, y Lua.
Como funciona
Veremos como funciona en Javascript. Como dijera, se utiliza la funcion eval() para obtener una variable objeto con el contenido:
miObjeto = eval('(' + json_datos + ')');
En la práctica, las consideraciones de seguridad por lo general recomiendan no usar eval sobre datos crudos y debería usarse un analizador Javascript distinto para garantizar la seguridad. El analizador proporcionado por JSON.org usa eval() en su función de análisis, protegiéndola con una expresión regular de forma que la función sólo ve expresiones seguras.
Ejemplo de JSON
En JSON
{"menu": { "id": "file", "value": "File", "popup": { "menuitem": [ {"value": "New", "onclick": "CreateNewDoc()"}, {"value": "Open", "onclick": "OpenDoc()"}, {"value": "Close", "onclick": "CloseDoc()"} ] } }}
En XML
<menu id="file" value="File"> <popup> <menuitem onclick="CreateNewDoc()" value="New"> <menuitem onclick="OpenDoc()" value="Open"> <menuitem onclick="CloseDoc()" value="Close"> </popup> </MENU>
0 Comentarios:
Mandar un comentario