Jakarta JSON Binding (JSON-B)
Jakarta JSON Binding (JSON-B) is a Jakarta EE standard (data binding) for mapping Java objects to and from JSON documents through a consistent Application Programming Interface (API) and default conventions.
- Specification for Java-to-JSON and JSON-to-Java mapping (data binding).
- Standardized annotations and configuration for controlling JSON serialization and deserialization behavior (application development).
- Integration point within the Jakarta EE platform for RESTful and other JSON-based services (enterprise application platform).
- Pluggable JSON binding layer that can work with different JSON processing implementations (extensibility).
- Defined default mapping rules for Java types to JSON structures to support interoperable data exchange (interoperability).
More About Jakarta JSON Binding
Jakarta JSON Binding (JSON-B) is a Jakarta EE specification (data binding) that defines a standard API for converting between Java objects and JSON documents. It addresses the problem of consistent, portable JSON serialization and deserialization in Java enterprise applications by providing a unified programming model instead of multiple incompatible libraries and proprietary conventions.
The specification defines default mapping rules (data binding) that describe how common Java types such as primitives, collections, and JavaBeans Marketing Automation Platform (MAP) to JSON objects, arrays, and values. These rules cover field and property name resolution, null handling, date and time types, and other commonly used data structures. By standardizing these mappings, Jakarta JSON Binding helps ensure that applications using different compatible implementations can exchange JSON data in a predictable manner.
Jakarta JSON Binding offers an annotation-based configuration model (application development) that allows developers to control JSON representation directly on Java classes. Annotations can customize property names, inclusion or exclusion of fields, date formats, numeric formatting, and handling of custom types. In addition to annotations, the specification defines programmatic configuration options that can tune runtime behavior, including adapters and serializers for specialized mapping requirements.
The specification is designed to integrate with the wider Jakarta EE platform (enterprise application platform). It is frequently used together with Jakarta RESTful Web Services for building Hypertext Transfer Protocol (HTTP) APIs that consume and produce JSON payloads, where JSON-B acts as the object mapping layer between Representational State Transfer (REST) endpoints and Java domain models. Jakarta JSON Binding is aligned with Jakarta JSON Processing (JSON-P), using JSON-P as the underlying JSON processing API in many implementations, which separates the concerns of streaming or tree-based JSON processing from object binding.
From an enterprise perspective, Jakarta JSON Binding provides a portable and vendor-neutral contract (standardization) for JSON data binding across application servers and runtimes that implement Jakarta EE. This supports long-term maintainability and interoperability for systems that need to exchange JSON data across organizational boundaries or migrate between Jakarta EE-compatible platforms. Its role in the ecosystem is as a core specification under the Eclipse Foundation governance model, where Jakarta EE specifications, including JSON-B, are developed and maintained through an open specification process.