Easy data binding using JSON-B
In this section, we're going to take a look at using JSON-B for marshalling and unmarshalling of your JSON and POJO data structures, how you can use JSON-B annotations on POJOs such as @JsonbProperty
, @JsonbNumberFormat
, @JsonbDateFormat
, @JsonbTransient
, and @JsonbPropertyOrder
, and finally how you can explicitly create JsonbConfig
and Jsonb
instances using JsonbBuilder
.
Let's get started and switch to code. We will create a JsonResource
class. This is our basic REST resource and we want to implement our basic methods that return JSON structures from a POJO and that unmarshall our POJO from JSON structures.
The first bit is easy; first up, we're implementing a basic @GET
method. We call it marshall
and it returns a JsonbPojo
. JsonbPojo
is a plane POJO object: it's a plane class. We'll use the @Produces
application for JSON and JAX-RS, and Java EE 8 will make sure that this POJO is marshalled properly to JSON using JSON-B:
@Produces(MediaType.APPLICATION_JSON...