OptimizelyJSON
Since statically typed languages lack native support for JSON, the Java SDK uses the OptimizelyJSON object to retrieve JSON in a flexible way.
Version
SDK v3.5 and higher
Methods
You can access JSON representations with the following methods:
Method | Parameters | Description |
---|---|---|
| none | Returns a string representation of the JSON object |
| none | Returns a map representation of the JSON object: |
|
| Returns a specified schema object ( If JSON key is null or empty, it populates your schema object with all JSON key/value pairs. You can retrieve information for a nested member of the JSON data structure by using flattened JSON dot notation. |
The OptimizelyJSON object is defined as follows:
public class OptimizelyJSON {
public String toString();
public Map<String,Object> toMap();
public <T> T getValue(@Nullable String jsonKey, Class<T> clazz) throws JsonParseException
}
Examples
You can easily use OptimizelyJSON
object, for example to:
- Get a JSON string by calling the
toString
method, or - Retrieve a specified schema from the
OptimizelyJSON
object by calling thegetValue
method.
The following example shows how to use an OptimizelyJSON object to populate a schema object you declare.
//declare a schema object into which you want to unmarshal OptimizelyJson content:
public static class SSub {
public string field
}
public static class SObj {
public int field1
public double field2
public string field3
public SSub field4
}
//parse all json key/value pairs into your schema, sObj
SObj robj = optlyJSON.getValue(null, SObj.class);
//or, parse the specified key/value pair with an integer value
Integer rint = optlyJSON.getValue("field1", Integer.class)
//or, parse the specified key/value pair with a string value
var strValue string
SSub rsub = optlyJSON.getValue("field4.field", SSub.class)
Updated over 1 year ago