¿Qué es mejor, Jackson o Gson?

“Jackson es consistentemente más rápido que GSON y JSONSmart . El analizador Boon JSON y el nuevo analizador Groovy 2.3 JSON son más rápidos que Jackson . Son más rápidos con InputStream, Reader, lectura de archivos, byte [] y char [] y String”.

Aquí hay algunos aspectos en los que creo que Jackson tiene un soporte más completo que Gson (disculpas si pierdo una función de Gson):

  • Amplio soporte de anotaciones; incluyendo herencia completa y anotaciones avanzadas de “mezcla” (asociar anotaciones con una clase para casos en los que no puede agregarlas directamente)
  • Streaming (incremental) de lectura, escritura, para casos de uso de rendimiento ultra alto (o con memoria limitada); se puede mezclar con enlace de datos (subárboles de enlace) – EDITAR : las últimas versiones de Gson también incluyen lector de transmisión
  • Modelo de árbol (acceso tipo DOM); puede convertir entre varios modelos (árbol objeto java secuencia)
  • Puede usar cualquier constructor (o métodos de fábrica estáticos), no solo el constructor predeterminado
  • Acceso de campo y getter / setter (versiones anteriores de gson solo usaban campos, esto puede haber cambiado)
  • Soporte JAX-RS listo para usar
  • Interoperabilidad: también puede usar anotaciones JAXB, tiene soporte / soluciones para paquetes comunes (joda, ibatis, cglib), lenguajes JVM (groovy, clojure, scala)
  • Capacidad para forzar el manejo de tipo estático (declarado) para salida
  • Soporte para deserializar tipos polimórficos (Jackson 1.5): puede serializar Y deserializar cosas como Lista correctamente (con información de tipo adicional)
  • Soporte integrado para contenido binario (base64 a / desde cadenas JSON)

Depende del tamaño de los objetos con los que está tratando.
Este blog en particular explica los casos de uso correctamente con algunos puntos de referencia.

The Ultimate JSON Library: JSON.simple vs GSON vs Jackson vs JSONP | Blog Takipi

Si sigue eishay / jvm-serializers (Benchmark que compara las bibliotecas de serialización en JVM), Jackson parece más rápido que Gson .

También RichardHightower / json-parsers-benchmark (Json to Map microbenchmark for the JVM) le dice que Jackson es más rápido que Gson .

Pero en términos de uso, Gson es bastante simple.

Acabo de leer este artículo que compara el rendimiento e indica que GSON es mejor en rendimiento en comparación con Jackson. Gson vs Jackson: cuál usar para JSON en Java