-
Notifications
You must be signed in to change notification settings - Fork 3
Jackson3 Changes
Tatu Saloranta edited this page Mar 1, 2017
·
32 revisions
- Jackson 3.x will require and be based on Java 8
- with possible exception of
jackson-coreandjackson-annotations(?)
- with possible exception of
- Embed some/all Java8 modules
- Embed "parameter names", "datatypes" (
Optional) - Need to think of Java 8 date/time module (size)
- Embed "parameter names", "datatypes" (
- Dataformat auto-detection (most in streaming, some in databind)
- supported by some formats, but complicated to make work at higher level
- Old JSON Schema generation that builds
JsonNode(already deprecated)- Not actively maintained since at least 2.4, deprecated by visitor-based approach since then
MapperFeature:
-
USE_STD_BEAN_NAMING: should always be used, no need for old slightly differing algorithm
-
ContextualSerializer/ContextualDeserializer,ResolvableSerializer/ResolvableDeserializer- just embed as part of
JsonSerializer/JsonDeserializer, with no-op implementation
- just embed as part of
-
JsonNodeneeds major rework; can do binary-incompatible return value changes
(will require wiki sub-page)
-
MapperFeature-
SORT_PROPERTIES_ALPHABETICALLY: default totrue(falsereally doesn't make much sense since it is unstable, and arbitrary based on JVM/JDK)
-
-
DeserializationFeature-
READ_ENUMS_USING_TO_STRING: default totrue(instead offalsethat relies onname()) -
FAIL_ON_UNKNOWN_PROPERTIES: default tofalse? (TOP REQUEST by users)
-
-
SerializationFeature-
FAIL_ON_EMPTY_BEANS: default tofalse
-
- Other
- Check defaults of date/time handling