JSON, ¿una alternativa a XML?

Bueno… JSON es un lenguaje para datos estructurados alternativo a XML que he conocido en el nº 31 de dotNetMania, gracias a José Manuel Alarcón.


Os preguntaréis que es JSON, pues como he podido ver en Wikipedia. JSON es el acrónimo de JavaScript Object Notation.


Y sin irnos por las ramas, os voy a enseñar una comparativa entre XML y JSON:


JSON:


{“menu”: {
  “id”: “file”,
  “value”: “File”,
  “popup”: {
    “menuitem”: [
      {“value”: “New”, “onclick”: “CreateNewDoc()”},
      {“value”: “Open”, “onclick”: “OpenDoc()”},
      {“value”: “Close”, “onclick”: “CloseDoc()”}
    ]
  }
}}


XML:


<menu id=”file” value=”File”>
  <popup>
    <menuitem value=”New” onclick=”CreateNewDoc()” />
    <menuitem value=”Open” onclick=”OpenDoc()” />
    <menuitem value=”Close” onclick=”CloseDoc()” />
  </popup>
</menu>


Como podéis observar la diferencia de peso es importante, sobre todo para el uso con AJAX. Además si vemos como se usa cada uno encontraremos más ventajas.


La forma de declararlo es la siguiente:

miObjeto = eval(‘(‘ + json_datos + ‘)’);

Conteniendo json_datos la cadena con el formato que os enseñaba antes.


Y la forma de acceder a los datos una vez declarado es:


miObjeto.id = “idObjeto”;


Creo que es mejor que la forma de acceder al XML, ¿no creéis?


Me gustaría que escribieséis vuestros comentarios.

 

8 thoughts on “JSON, ¿una alternativa a XML?

  1. Es cierto que disminuye considerablemente el peso y por tanto el tráfico por red de datos… Sin embargo sigue siendo por definición inseguro, aunque ya me imagino que entre ambos extremos de una comunicación XML/JSON “sensible”, todo el mundo implementa ya algún algoritmo de encriptación 😉

    Que tampoco creo que deba usarse XML, o JSON, o ningún otro método de “formateo” de información cuando ésta sea “sensible” (ya sabéis: clientes, facturación…). En estos casos, donde esté el Remoting de toda la vida… 😉

  2. Hola,

    Hoy en día ya puedes crear Servicios Web seguros con mensajes SOAP (XML) cifrados y firmados digitalmente. Con Web Services Enhancements 3.0 y con WCF la cosa ya no es demasiado compleja.

  3. “Con Web Services Enhancements 3.0 y con WCF la cosa ya no es demasiado compleja.”

    Ya, pero hemos tenido que esperar hasta Vista (o si prefieres, .NET 3.0) para poder tener acceso a esto que comentas… 😉

    En los… hmmm… “arcaicos” tiempos de .NET 1.1, a ver cómo solucionábamos el tema. Creo recordar por cierto que había una propuesta, no sé si oficial -en el sentido que hubiese alguna Organización detrás-, para obtener un equivalente en código binario a partir de texto XML, pero no sé si llegó a prosperar o no.

    Saludos

  4. ¿Qué os parece usar HTTPS? 😉

    De todos modos a mi lo que más me preocupa de JSON es la seguridad del código “inyectado” que podría dar lugar a problemas de XSS (Cross Site Scripting) y cosas así. Pero comento en mi artículo de DotNetMania las bibliotecas de procesado JSON de json.org ya tiene en cuenta estas cosas.

    Saludos,

    JM.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *