A high-performance Clojure library for JSON encoding and decoding, built on Jackson.
jsonista is a Clojure library for fast JSON encoding and decoding, built on the Jackson databind library. It solves the need for high-performance JSON processing in Clojure web applications, offering explicit configuration and optimized throughput.
Clojure developers building web services or applications that require efficient JSON serialization and deserialization, especially those using the Muuntaja middleware.
Developers choose jsonista for its superior speed compared to alternatives like data.json and Cheshire, its explicit and flexible configuration options, and its seamless integration with the Clojure web ecosystem.
Clojure library for fast JSON encoding and decoding.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Benchmarks in the README show jsonista significantly outperforms data.json and Cheshire, with up to 3x higher throughput in encoding and decoding, thanks to Java-optimized components.
Provides full control over JSON mapping through customizable ObjectMapper instances, allowing tailored key functions and integration with Jackson modules like Joda-Time.
Supports tagged JSON for encoding Clojure-specific data types like keywords and sets without data loss, which is faster than EDN or Transit in performance tests.
Optimized for web development and designed to work seamlessly with the Muuntaja middleware, making it ideal for high-throughput Clojure web APIs.
Relies on jackson-databind, which introduces a large Java library dependency and ties the project to Jackson's ecosystem, potentially complicating projects that avoid Jackson due to licensing or bloat.
Requires explicit setup of ObjectMapper for advanced features like custom key handling or module integration, which can be more complex and verbose compared to simpler libraries like data.json.
Focuses on low-level JSON processing without built-in support for schema validation or automatic error handling, which might necessitate additional libraries or custom code in web applications.