Currently there is no way to add custom handlers for reading or writing values; only basic JDK types (basic scalars, java.util.Collections, java.util.Maps, arrays, enums) and Beans are supported. Although we can add some more JDK types, it would be useful to allow custom readers / writers to support:
- Custom value types that do not conform to Beans (f.ex serialize as some other JSON value that JSON Object; or use different naming convention)
- 3rd party types (like Guava collections)
For 2.10 this could be done by adding new abstract -- ReaderWriterProvider -- configurable via JSON, that allows lookups for:
ValueReader for deserialization
- a new abstraction for serialization