Skip to content
Support for org.json data types, to ease migration out of code that uses them
Branch: master
Clone or download
Type Name Latest commit message Commit time
Failed to load latest commit information.
release-notes Update 2.10.0 Mar 28, 2019
.travis.yml Update codehaus link Aug 15, 2018
pom.xml Start fixing 3.0 Mar 28, 2019

Project to build Jackson extension module (jar) to support datatypes of "json org" JSON library


Build Status Maven Central Javadoc

Module is fully usable and officially released.


Maven dependency

To use module (version 2.x) on Maven-based projects, use following dependency:


(or whatever version is most up-to-date at the moment)

Registering module

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.

Data conversions

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.

You can’t perform that action at this time.