JSR 367: Java API for JSON Binding (JSON-B)

JSR 367 is one of the newly proposed JSRs posted in the July & August JSR Updates all of which are targeting the Java EE platform.

The JSR 367 or Java API for JSON Binding (JSON-B) specification is led by Oracle’s Martin Grebac and started its review in September 2014. The growing popularity of JSON being used by most systems and layers and the release of .JSR 353 or Java API for JSON Processing (JSON-P), are the reasons why JSR 367 was born. While JSR 353 developed a standard Java API for parsing, generating, and transforming JSON data, JSR 367 was proposed to develop “a standard binding layer for converting Java objects to/from JSON messages”. It is said that “JSON-B will leverage JSON-P and provide a conversion layer above it”.

The proposed package name is: javax.json.bind

This JSR was presented in the recently held JavaOne Conference, an event by Oracle. Grebac posted his approved slides on their blog site. The list of advantages of having Standard API below is an excerpt from his slides:

  • Switch providers easily
  • Implementation complete on common ground (performance or feature-wise)
  • Loss of implementation/participant is no issue for standard
  • More people able to help on forums or stackoverflow, even those not using your implementation of choice

The slides also contain the JSR’s description, status, goals and non-goals and other plans for the JSR.

Java SE 7 or higher and Java EE 7 or higher platforms are targeted by this JSR. They are also planning to include this in the Java EE 8. This API is said to have a “similar feel” to JAXB (Java Architecture for XML Binding). Therefore, developers of Java SE and Java EE could easily adopt JSON-B. Formation of the Expert Group started last October and the final release is scheduled on the 3rd quarter of 2016.

Updates on schedules will be posted in this link, while you can use users@jsonb-spec.java.net to post comments on their public mailing list.

Posted in Technology.

Leave a Reply

Your email address will not be published. Required fields are marked *