Use case
The NullToEmptyCollection/Map option can be replaced by configOverride as follows
jacksonObjectMapper().apply {
configOverride(List::class.java).setterInfo = JsonSetter.Value.forValueNulls(Nulls.AS_EMPTY)
configOverride(Map::class.java).setterInfo = JsonSetter.Value.forValueNulls(Nulls.AS_EMPTY)
}
Also, the current NullToEmpty option only applies to deserialization using creators and not to setters, a problem that will be resolved.
Describe the solution you'd like
Removing these options provides the following benefits
- Reduce the number of codes to be maintained
- Minor performance improvement for when the value is
nullish
Describe alternatives you've considered
The disadvantage of this method is that it requires an explicit specification for each type.
For example, a specification for List will not apply to an ArrayList.
Similarly, a specification made for a Collection will not apply to a List or Set.
Therefore, the policy may be to switch only the backend of the process and leave it as a function.
Additional context
Use case
The
NullToEmptyCollection/Mapoption can be replaced byconfigOverrideas followsAlso, the current
NullToEmptyoption only applies to deserialization using creators and not to setters, a problem that will be resolved.Describe the solution you'd like
Removing these options provides the following benefits
nullishDescribe alternatives you've considered
The disadvantage of this method is that it requires an explicit specification for each type.
For example, a specification for
Listwill not apply to anArrayList.Similarly, a specification made for a
Collectionwill not apply to aListorSet.Therefore, the policy may be to switch only the backend of the process and leave it as a function.
Additional context