Package tech.ydb.yoj.repository.db.json
Class JacksonJsonConverter
java.lang.Object
tech.ydb.yoj.repository.db.json.JacksonJsonConverter
- All Implemented Interfaces:
JsonConverter
YOJ JSON Converter implementation using Jackson as the underlying JSON library.
Use it to support JSON-valued fields (@Column(flatten=false) composite
objects and dynamic fields with type of interface/abstract class, e.g. List):
CommonConverters.defineJsonConverter(JacksonJsonConverter.getDefault());
Note that the CommonConverters.defineJsonConverter() configuration API is unstable and subject to
change (and potential deprecation for removal.)
You can obtain an instance of JacksonJsonConverter in a number of ways:
- To get
JacksonJsonConverterwhich uses reasonable defaults, callgetDefault(). - To customize these reasonable defaults, use the
JacksonJsonConverter(UnaryOperator)constructor:CommonConverters.defineJsonConverter(new JacksonJsonConverter(mapper -> mapper .set[...]() .registerModule(...) .configure(...) )); - To supply an externally created
ObjectMapper, use the#JacksonJsonConverter(ObjectMapper)constructor.
-
Field Summary
Fields inherited from interface tech.ydb.yoj.repository.db.common.JsonConverter
NONE -
Constructor Summary
ConstructorsConstructorDescriptionJacksonJsonConverter(UnaryOperator<com.fasterxml.jackson.databind.ObjectMapper> mapperBuilder) -
Method Summary
Modifier and TypeMethodDescriptionstatic com.fasterxml.jackson.databind.ObjectMapper<T> T<T> TfromObject(@NonNull Type type, Object content) static JsonConvertertoString()
-
Constructor Details
-
JacksonJsonConverter
public JacksonJsonConverter(UnaryOperator<com.fasterxml.jackson.databind.ObjectMapper> mapperBuilder)
-
-
Method Details
-
getDefault
- Returns:
JsonConverterwith reasonable defaults, using Jackson for JSON serialization and deserialization
-
toJson
- Specified by:
toJsonin interfaceJsonConverter- Throws:
ConversionException
-
fromJson
public <T> T fromJson(@NonNull @NonNull Type type, @NonNull @NonNull String content) throws ConversionException - Specified by:
fromJsonin interfaceJsonConverter- Throws:
ConversionException
-
fromObject
public <T> T fromObject(@NonNull @NonNull Type type, @Nullable Object content) throws ConversionException - Specified by:
fromObjectin interfaceJsonConverter- Throws:
ConversionException
-
toString
-
createDefaultObjectMapper
public static com.fasterxml.jackson.databind.ObjectMapper createDefaultObjectMapper()- Returns:
ObjectMapperwith reasonable defaults for mapping between Java objects and JSON
-