Project to build Jackson extension module (jar) to support datatypes of "json org" JSON library
Module is fully usable and officially released.
To use module (version 2.x) on Maven-based projects, use following dependency:
<dependency>
<groupId>com.fasterxml.jackson.datatype</groupId>
<artifactId>jackson-datatype-json-org</artifactId>
<version>2.9.0</version>
</dependency>
(or whatever version is most up-to-date at the moment)
To use the the Module in Jackson, simply register it with the ObjectMapper instance:
// import com.fasterxml.jackson.datatype.jsonorg.JsonOrgModule;
ObjectMapper mapper = new ObjectMapper();
mapper.registerModule(new JsonOrgModule());
This will ensure that basic datatype of org.json
package can be read and written using Jackson data-binding functionality.
After registering the module, you can read and write JSON to/from org.json.JSONObject similar to handling custom POJOs or standard JDK types:
JSONObject ob = mapper.readValue(json, JSONObject.class); // read from a source
String json = mapper.writeValue(ob); // output as String
As well as do conversion to/from POJOs:
MyValue value = mapper.convertValue(jsonObject, MyValue.class);
JSONObject jsonObject = mapper.convertValue(value, JSONObject.class);
or to/from Tree Model:
JsonNode root = mapper.valueToTree(jsonObject);
jsonObject = mapper.treeToValue(root, JSONObject.class);
Similarly, you can read/write/convert-to/convert-from JSONArray
instead of JSONObject
.