Skip to content
Tech News
← Back to articles

JEP 540: Simple JSON API (Now in Incubator)

read original more articles
Why This Matters

JEP 540 introduces a simple, standardized JSON API for Java, aimed at making JSON parsing and generation more accessible and consistent without relying on external libraries. This initiative enhances interoperability and ease of use, especially for machine-to-machine communication and exploratory data handling. By embedding this API into the JDK, Java developers can streamline JSON processing tasks with minimal overhead, fostering more efficient and reliable software development.

Key Takeaways

Summary

Define a simple, standard API for parsing and generating JSON documents so that doing so does not require an external library. Enable many JSON processing tasks to be accomplished with little coding. This is an incubating API.

History

This JEP supersedes JEP 198, Light-Weight JSON API, which was written in 2014. Circumstances have changed in the intervening years, so here we take a different approach.

Goals

Provide a standard means in the Java Platform to process RFC 8259 compliant JSON documents with low ceremony.

Keep the API small, simple, and easy to learn. Provide only those data types and operations required for strict conformance to RFC 8259, in order to facilitate machine-to-machine communication. Avoid features such as multiple parsing configurations, syntax extensions, data binding, and streaming.

Ensure that code that navigates and extracts data from JSON documents with a known structure is simple and readable. Because JSON documents do not have schemas, such code serves as a de facto schema and should be readable as such.

Enable easy and quick exploration of unfamiliar JSON documents. We often interact with JSON documents in an exploratory manner, writing code not using a specification but instead trying it out against example documents. The API should provide methods that fail fast with clear error messages, enabling quick exploration.

Ensure that missing or unexpected values can be handled in a resilient fashion, since JSON document structures can evolve over time.

... continue reading