En JAX-RS 2.1, la biblioteca interna utilizada para la serialización y la deserialización entre objetos JSON y Java ha cambiado de Jackson a Yasson. Yasson es la implementación de referencia de JSON-B. Jackson y Yasson serializarán los objetos relacionados con el tiempo de distintas formas, por ejemplo:
| Jackson | Yasson | |
|---|---|---|
| java.util.Date | 726213720000 | 1993-02-05T06:02:00Z[UTC] |
| java.util.Calendar | 726213720000 | 1993-02-05T00:00:00-06:00[America/Chicago] |
Se pueden realizar los métodos de recursos JAX-RS que producen o consumen datos de tipo JSON. Esta regla marca los campos java.util.Date o java.util.Calendar que están contenidos en un objeto producido o consumido por un
método de recurso JAX-RS.
A continuación se muestra un ejemplo de los métodos de recursos JAX-RS que producen y consumen un objeto Java que contiene un campo java.util.Date y java.util.Calendar:
Esta regla marca el java.util.Date y java.util.Calendar del objeto DataObject objeto.
Para esta regla, se proporcionará una corrección automatizada para añadir la anotación @JsonbDateFormat(value = JsonbDateFormat.TIME_IN_MILLIS ) a estos campos para convertir la salida a la época milliseconds.After la corrección automatizada se aplica la clase DataObject se actualizará del siguiente modo:
Nota: Para acceder al @javax.json.bind.annotation.JsonbDateFormat la corrección automática añadirá la función jsonb a su archivo de configuración Liberty server.xml archivo de configuración. Por ejemplo, añada la característica jsonb-1.0 si está utilizando la
característica jaxrs-2.1.
Para obtener más detalles sobre las diferencias de comportamiento entre Jackson y Yasson, consulte el artículo Is it time for a JSON binding standard? que compara el comportamiento de Jackson y JSON-B.