A high-performance JSON parser and encoder for Erlang implemented as a NIF.
Jiffy is a JSON parser and encoder for Erlang implemented as a Natively Implemented Function (NIF). It solves the need for high-performance JSON handling in Erlang applications by providing a fast, efficient library that converts between JSON and Erlang data types without nesting limits or constraints on the parsed JSON.
Erlang developers who need to parse or generate JSON in performance-sensitive applications, such as web services, APIs, or data processing pipelines.
Developers choose Jiffy for its speed (as a NIF), simplicity, and robust handling of JSON-to-Erlang mapping with configurable options like map support, null term replacement, and memory control.
JSON NIFs for Erlang
Implemented as a hand-crafted state machine NIF, it maximizes speed and efficiency for JSON parsing and encoding, making it ideal for performance-sensitive Erlang applications.
Supports conversion between JSON and Erlang terms like tuples, lists, binaries, and maps with options such as return_maps and null_term replacement, offering versatile integration.
Imposes no constraints on JSON nesting depth, allowing it to handle deep or complex JSON structures without the limitations of earlier implementations.
Options like copy_strings and dedupe_keys provide fine-grained control over memory usage and key handling, adapting to different workload needs.
As a NIF, bugs in Jiffy can crash the entire Erlang VM, posing a significant stability risk compared to pure Erlang JSON libraries.
Only handles UTF-8 binaries, requiring additional preprocessing for JSON data in other encodings, which can add overhead in heterogeneous environments.
Features like return_maps depend on Erlang VM support from version 17.0 onward, making it less suitable for legacy systems without upgrades.
an erlang application for consuming, producing and manipulating json. inspired by yajl
Erlang with SQL or not
Compile erlang record definitions into modules to convert them to/from json easily.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.