JSON Binding (JSON-B / Jakarta JSON Binding) is a standard Java API for converting Java objects to and from JSON documents, giving developers a declarative, annotation-driven way to serialize and deserialize JSON without hand-writing mapping code.
JSON Binding
JSON Binding, better known as JSON-B or Jakarta JSON Binding, is a standard Java API that maps Java objects to JSON documents and back. Originally standardized as JSR 367 and now maintained under Jakarta EE, it gives developers a single, portable binding layer instead of leaning on a library-specific mapper. The goal is simple: read and write JSON without writing serialization code by hand.
- Declarative binding - Default mappings turn plain Java objects into JSON and back with no configuration, so common cases just work.
- Annotation-driven customization - Annotations like
@JsonbProperty,@JsonbTransient, and@JsonbDateFormatcontrol field names, visibility, and formatting when the defaults are not enough. - Pluggable runtime - The API is an interface with multiple implementations (Eclipse Yasson is the reference), so code binds to the standard rather than a vendor.
- Sits atop JSON Processing - JSON-B builds on the lower-level JSON Processing API, pairing a high-level object binding with a streaming and object-model foundation.
In real API operations, JSON-B is the layer that turns request bodies into domain objects and domain objects into responses inside Java and Jakarta EE services. Because the binding is standardized, the same annotations describe the wire format across frameworks, which keeps an API’s payloads consistent with the JSON Schema that documents them. That predictability matters more in the agentic turn, where machine clients depend on stable, well-described object shapes rather than mappings that drift from one library to the next.