Jackson - Descripción general

Jackson es una biblioteca simple basada en Java para serializar objetos Java en JSON y viceversa.

Caracteristicas

  • Easy to use. - La API de jackson proporciona una fachada de alto nivel para simplificar los casos de uso de uso común.

  • No need to create mapping. - La API de jackson proporciona un mapeo predeterminado para la mayoría de los objetos que se serializarán.

  • Performance. - jackson es silencioso y rápido, ocupa poco espacio en la memoria y es adecuado para sistemas o gráficos de objetos grandes.

  • Clean JSON. - jackson crea resultados JSON limpios y compactos que son fáciles de leer.

  • No Dependency. - la biblioteca jackson no requiere ninguna otra biblioteca aparte de jdk.

  • Open Source - la biblioteca jackson es de código abierto y de uso gratuito.

Tres formas de procesar JSON

Jackson proporciona tres formas alternativas de procesar JSON

  • Streaming API: lee y escribe contenido JSON como eventos discretos. JsonParser lee los datos mientras que JsonGenerator escribe los datos. Es el enfoque más poderoso entre los tres y tiene la sobrecarga más baja y la más rápida en operaciones de lectura / escritura. Es Analogus to Stax parser para XML.

  • Tree Model: prepara una representación de árbol en memoria del documento JSON. Árbol de construcción de ObjectMapper de nodos JsonNode. Es el enfoque más flexible. Es análogo al analizador DOM para XML.

  • Data Binding - convierte JSON hacia y desde POJO (Plain Old Java Object) usando el acceso de propiedad o usando anotaciones. Es de dos tipos.

    • Simple Data Binding - Convierte JSON hacia y desde Java Maps, Lists, Strings, Numbers, Booleanos y objetos nulos.

    • Full Data Binding - Convierte JSON hacia y desde cualquier tipo de JAVA.

    ObjectMapper lee / escribe JSON para ambos tipos de enlaces de datos. La vinculación de datos es la forma más conveniente y es análoga al parer JAXB para XML.