working serialize property not jsoninclude jsonignore java json serialization xml-serialization

serialize - Serialización Java vs JSON vs XML



serialization java (4)

Creo que como desarrollador no debemos ocuparnos de la serialización de los objetos de respuesta. pero si consideramos JSON, tiene ventajas dignas para elegir sobre XML.

  1. JSON Response no necesita una respuesta codificada a diferencia de XML.
  2. el manejo y el procesamiento de JSON es más rápido en comparación con XML porque no se analiza.
  3. La respuesta XML para AJAX siempre está codificada, por lo que el proceso lleva tiempo.
  4. JSON se ajusta mejor a Jquery para la codificación relacionada con la interfaz de usuario y es más rápido.
  5. Procesamiento de datos enormes Por ejemplo: obtención de datos de indexación hacia / desde el servidor, el manejo de JSON es más rápido.

Me pregunto qué mecanismo serializado deberíamos elegir al tratar con la transferencia de objetos a través de la red. Cuáles son los pros y los contras ?

Sé que la mayoría de las veces usamos JSON o XML para AJAX ya que el formato de transferencia es prácticamente el formato de Javascript , y además, JSON es bastante liviano con su pequeña huella, por lo tanto ¿ Java serialización de Java está totalmente fuera de la mesa?


Creo que eso depende Si está enviando una solicitud http o algo así, entonces JSON o XML obviamente son una buena opción. Si solo está enviando un objeto java sobre un socket tcp por algún algoritmo distribuido o algo así, creo que la serialización java es más fácil / mejor


En general, la pregunta importante es qué cliente recibirá los objetos serializados - buscadores / motores de JavaScript como (node-js), cliente Java, clientes desconocidos / múltiples.

La sintaxis JSON - JSON es básicamente JavaScript y, por lo tanto, cualquier componente con un motor JS manejará muy bien su análisis: incluso las estructuras de datos complicadas se convertirán en objetos "vivos" de manera eficiente. Los analizadores JSON existen para prácticamente cualquier idioma y es fácil de usar incluso cuando no se usa un motor JS (por ejemplo, Google Gson es capaz de convertir JSON en objetos correspondientes con facilidad) lo que hace que sea un buen candidato para la comunicación entre idiomas - por ejemplo, en una arquitectura de mensajería .

XML: comparte muchos de los beneficios de JSON: lenguaje cruzado, peso ligero, etc. Adobe Flex, por ejemplo, maneja muy bien XML, incluso mejor que JSON. Definitivamente es un sustituto apropiado para JSON. Personalmente prefiero JSON por su sintaxis JS, pero XML también es bueno.

Serialización Java: debe considerarse solo para la comunicación Java-to-Java. Una nota importante es que las definiciones de clase deben estar en el envío y la recepción termina y, a menudo, no ganarías mucho pasando el objeto completo. No descartaría RMI como un protocolo de comunicación, simplifica el desarrollo. Sin embargo, los componentes de la aplicación resultante serán acoplados rígidamente lo que hará que sea muy difícil reemplazarlos.

Una nota más: la serialización en general tiene su costo. Sin embargo, cuando la comunicación se realiza a través de una red, el cuello de botella suele ser la red en lugar de la serialización / deserialización en sí misma.


Mientras que la serialización en la red funcionaría tanto xml como json. Depende del consumidor de esta información.

  • Si el consumidor es un navegador que usa Ajax para solicitar información y renderizar algo en la pantalla, generalmente jason es la mejor opción ya que está en formato de objeto Javascript y no hay gastos generales de conversión a objetos compatibles con Javascript. De hecho, muchas bibliotecas de Ajax (por ejemplo, jQuery) tienen un buen soporte para json.

  • Si su consumidor es otra aplicación que puede o no estar en Java, entonces xml es el mecanismo preferido de serialización. Los servicios web usan xml en gran medida.

  • Si su consumidor es otro programa Java, entonces definitivamente la opción de serialización java es preferible (por ejemplo, RMI). Así que aún no ha salido :-).

Pero sí, hay una línea borrosa entre XML y Json. Lo que mencioné aquí es la práctica general. Aquí hay un buen artículo que pone todo el aspecto en xml vs jason.