Deserialize creators and records with the CASE_INSENSITIVE strategy With CASE_INSENSITIVE, the deserializers and default values of creator parameters are keyed by lower-cased names and the JSON keys are lower-cased, but JsonbCreatorDeserializer kept the creator parameter names as they are. A parameter name with an uppercase letter was then never matched, and deserialization failed with a NullPointerException when looking up its default value. Rename the creator parameter names in the same way. Signed-off-by: Sharang Gupta <sharang@sharanggupta.dev>
Yasson is a Java framework which provides a standard binding layer between Java classes and JSON documents. This is similar to what JAXB is doing in the XML world. Yasson is an official reference implementation of JSON Binding (JSR-367).
It defines a default mapping algorithm for converting existing Java classes to JSON suitable for the most cases:
Jsonb jsonb = JsonbBuilder.create(); String result = jsonb.toJson(someObject);
For whom it's not enough it provides rich customization abilities through a set of annotations and rich programmatic API:
// Create custom configuration JsonbConfig config = new JsonbConfig() .withNullValues(true) .withFormatting(true); // Create Jsonb with custom configuration Jsonb jsonb = JsonbBuilder.create(config); // Use it! String result = jsonb.toJson(someObject);
Something not working right? Have an idea for an enhancement? Get in touch with the Yasson community in the following ways:
[jsonb-api] and [yasson]