Class LDJackson
An application that wishes to use Jackson to serialize or deserialize classes from the SDK should
configure its ObjectMapper
instance as follows:
import com.launchdarkly.sdk.json.LDJackson;
ObjectMapper mapper = new ObjectMapper();
mapper.registerModule(LDJackson.module());
This causes Jackson to use the correct JSON representation logic (the same that would be used by
JsonSerialization
) for any types that have the SDK's JsonSerializable
marker
interface, such as LDContext
and LDValue
, regardless of whether they are the
top-level object being serialized or are contained in something else such as a collection. It
does not affect Jackson's behavior for any other classes.
The current implementation is limited in its ability to handle generic types. Currently, the only
such type defined by the SDKs is EvaluationDetail
. You can serialize
any EvaluationDetail<T>
instance and it will represent the T
value correctly, but
when deserializing, you will always get EvaluationDetail<LDValue>
.
-
Method Summary
Modifier and TypeMethodDescriptionstatic com.fasterxml.jackson.databind.Module
module()
Returns a JacksonModule
that defines the correct serialization and deserialization behavior for all LaunchDarkly SDK objects that implementJsonSerializable
.
-
Method Details
-
module
public static com.fasterxml.jackson.databind.Module module()Returns a JacksonModule
that defines the correct serialization and deserialization behavior for all LaunchDarkly SDK objects that implementJsonSerializable
.import com.launchdarkly.sdk.json.LDJackson; ObjectMapper mapper = new ObjectMapper(); mapper.registerModule(LDJackson.module());
- Returns:
- a
Module
-