For a high performance JSON parsing library, the first results are lemire/simdjson (simdjson is the flagship high-performance JSON parser, using SIMD instructions for gigabytes-per-second throughput, and supports zero-copy parsing, streaming NDJSON, and multithreaded processing—covering every core feature this search demands), zserge/jsmn and bytedance/sonic. simdjson/simdjson and jimhigson/oboe.js round out the shortlist. Compare the match explanations and check the project documentation against your requirements.
These open-source libraries provide optimized algorithms and data structures for rapid JSON serialization and deserialization.
simdjson is a high-performance JSON parser that utilizes SIMD instructions to process gigabytes of data per second. It functions as a SIMD JSON parser, a multithreaded NDJSON processing library, a UTF-8 validation engine, and a tool for JSON minification and string building. The project focuses on high-throughput data processing, enabling the ingestion of massive JSON volumes and the verification of UTF-8 encoding standards. It includes dedicated capabilities for constructing JSON strings with optimized memory usage and removing unnecessary whitespace from documents to reduce file size. The
simdjson is the flagship high-performance JSON parser, using SIMD instructions for gigabytes-per-second throughput, and supports zero-copy parsing, streaming NDJSON, and multithreaded processing—covering every core feature this search demands.
jsmn is a lightweight JSON parser library written in C. It provides zero-copy tokenization and incremental parsing designed for use in embedded systems and memory-constrained environments. The library identifies structural JSON elements by providing offsets into the original string rather than allocating new memory for data. It uses a single-pass scanning method and requires static-buffer allocation, meaning the caller provides the memory for tokens to avoid dynamic allocation during the parsing process. The parser supports incremental streaming, allowing it to process JSON data in chunks fr
jsmn is a lightweight C library that provides zero-copy tokenization and incremental streaming JSON parsing with static memory allocation, fitting the request for an efficient JSON parser with low allocation and a native C API, though it does not include SIMD or concurrent parsing.
Sonic is a high-performance Go JSON serialization library that provides tools for encoding and decoding native data structures. It functions as a JIT-accelerated encoder, a JSON AST parser, a stream processor, and a lazy decoder. The project utilizes just-in-time machine code generation to optimize the encoding of large data schemas and employs a JIT assembler to maximize serialization and deserialization speeds. It features a precompiled schema warmup process to prevent latency spikes during initial execution and leverages SIMD hardware instructions for accelerated parsing. The library cove
Sonic is a high-performance Go JSON parsing library that uses JIT compilation and SIMD instructions for low-latency, high-throughput parsing, and it supports zero-copy deserialization and streaming; however, it lacks a C API and explicit concurrent parsing support, making it a strong fit for Go projects but not a universal solution.
simdjson is a high-performance, header-only C++ library designed for parsing, querying, and serializing JSON data with minimal memory overhead. It functions as a hardware-aware data processing engine that leverages vector instructions to achieve gigabyte-per-second parsing speeds. By detecting host processor capabilities at runtime, the library automatically selects the most efficient instruction sets to accelerate structural analysis and validation. The library distinguishes itself through a focus on extreme efficiency and resource management. It utilizes memory mapping and padded buffer ali
simdjson is a header-only C++ library that uses SIMD instructions for extremely fast JSON parsing, exactly matching the need for low-latency high-throughput parsing, though its design assumes the entire JSON document is in memory rather than supporting fully incremental streaming or concurrent parsing.
oboe.js is a streaming JSON parser and HTTP stream client designed for incremental data processing. It allows applications to act upon individual JSON objects as they arrive from a network request or readable stream before the entire download completes. The library functions as a JSON stream transformer, enabling the modification, filtering, and mapping of nodes on the fly. It features path-based node selection to trigger callbacks when specific patterns are matched and can terminate a network connection early once required data is found to save bandwidth. To handle datasets larger than avai
Oboe.js is a streaming JSON parser for JavaScript that lets you process objects incrementally, but as a pure-JS library it does not provide zero-copy, SIMD acceleration, or native bindings, so it won't deliver the low‑latency, high‑throughput performance this search targets.
RapidJSON is a header-only C++ library designed for high-performance parsing, generation, and manipulation of JSON data. It functions as a dual-mode engine, providing both an in-memory document object model for tree-based manipulation and a stream-based interface for event-driven processing. The library is built to minimize memory footprint and maximize execution speed, making it suitable for resource-constrained environments. The library distinguishes itself through advanced memory management and optimization techniques, including in-situ parsing that modifies input buffers directly to elimi
RapidJSON is a header-only C++ library for high-performance JSON parsing with in-situ (zero-copy) and streaming SAX-style parsing, directly meeting the need for a fast JSON parser, though it does not advertise SIMD acceleration or concurrent parsing.
orjson is a high-performance Python library for serializing and deserializing JSON data. It functions as both a JSON parsing library and a serialization engine, converting data between native Python objects and UTF-8 encoded bytes. The project provides specialized support for converting complex Python data structures, including dataclasses, datetime objects, and NumPy arrays and scalars, into JSON format. It also allows for the insertion of pre-serialized JSON blobs into documents to maintain processing speed. The library includes capabilities for memory-efficient deserialization through key
orjson is a high-performance JSON parsing (and serialization) library for Python, built in Rust for speed, which makes it a genuine JSON parsing library, but it lacks explicit streaming/SIMD support and a C API, so it covers only some of the requested advanced features.
ArduinoJson is a C++ library for parsing and manipulating JSON data and MessagePack binary streams on microcontrollers with limited memory and processing power. It provides the core primitives necessary for embedded data serialization and parsing, enabling devices to exchange structured data over serial or network interfaces. The library is distinguished by its focus on microcontroller memory management, employing strategies such as pool-based allocation, string deduplication, and non-owning string views to minimize RAM usage. It further optimizes for constrained environments by allowing cons
ArduinoJson is a JSON parsing library for microcontrollers with a focus on low memory usage, but it lacks the zero-copy, SIMD, streaming, concurrent, and high-throughput capabilities you need for server-side performance-oriented parsing.
Moshi is a JSON serialization library and parser for Kotlin and Java. It functions as a reflectionless JSON encoder that converts typed objects to JSON strings and parses JSON data back into language objects. The library distinguishes itself through compile-time adapter generation, which removes the performance overhead associated with runtime reflection. It also provides a polymorphic JSON mapper that uses type identifiers to resolve and instantiate specific subclasses of a common base type. The framework supports custom adapter definitions for specialized type conversion, including nullabi
Moshi is a JSON parsing and serialization library for Kotlin and Java that uses compile-time adapter generation to avoid reflection overhead, making it efficient for typed data but lacking the zero-copy, SIMD, and C-level optimizations this search prioritizes.
Gson is a Java library designed for the serialization and deserialization of objects into structured text formats. It functions as a reflection-based data mapper, inspecting class structures at runtime to automatically convert memory-resident objects into data representations and reconstruct them back into typed language objects. The library distinguishes itself through a modular type-adapter pattern that allows for custom conversion rules for complex or nested structures. It also provides robust support for production environments by generating build-time metadata and configuration rules, wh
Gson is a Java library for JSON serialization/deserialization, so it fits the category of a JSON parser, but it prioritizes ease of use through reflection rather than the high-throughput, zero-copy, or SIMD features you are looking for.
This library is a header-only C++ framework designed for the serialization, parsing, and manipulation of structured data. It provides a recursive variant data model that represents arbitrary structures as native types, allowing developers to navigate, modify, and patch hierarchical data using standard pointer paths and declarative update patterns. The project distinguishes itself through its template-based architecture, which enables type-safe data structures and custom type mapping at compile time. It offers a unified interface for binary format abstraction, supporting multiple compact repre
nlohmann/json is a full-featured JSON parsing library, but it prioritises ease-of-use and broad format support over the peak throughput, zero-copy, or SIMD acceleration that this high-performance search targets.
Jackson is a Java data binding framework and multi-format data serializer used to translate data structures into native language objects. It functions as a JSON data binding library and a streaming parser that reads and writes data as discrete tokens to process large datasets with minimal memory. The project distinguishes itself through a bytecode serialization accelerator that replaces standard reflection with generated bytecode to increase data binding speed. It employs a module-based extensibility model to support a wide range of formats beyond JSON, including XML, YAML, CSV, TOML, and bin
Jackson is a mature Java library for high-performance JSON parsing with streaming and data binding, fitting the category as a library, but it lacks SIMD acceleration, zero-copy, concurrent parsing, and native/C bindings, so it covers only a subset of the requested features.
cJSON is a lightweight library for parsing, creating, and modifying JSON data structures within C applications. It provides a comprehensive set of utilities for transforming raw text into navigable objects, manipulating data fields within collections, and serializing complex structures into formatted or unformatted strings. The library is designed for memory-sensitive and resource-constrained environments, utilizing manual memory management and type-tagged union structures to maintain a minimal footprint. It employs recursive descent parsing and in-place string manipulation to process data ef
cJSON is a lightweight, minimal-footprint JSON parser for C that fits the search for a JSON parsing library, but it lacks the zero-copy, SIMD, streaming, and concurrent parsing features needed for the highest throughput and lowest latency scenarios.
Fastjson is a Java data binding framework and serialization library designed to convert objects to JSON strings and parse JSON data into typed objects. It functions as a JSON parser and stream processor capable of transforming JSON strings into data structures. The project emphasizes high performance JSON processing and memory management, specifically through the use of a pipeline to stream oversized JSON objects and texts to prevent memory exhaustion. It provides capabilities for JSON data serialization and deserialization workflows, including custom JSON data mapping and the ability to def
Fastjson is a high-performance Java JSON parsing and serialization library with streaming support, making it a genuine JSON parser, though it does not offer the C API, SIMD acceleration, or zero-copy parsing listed as desired.
https://github.com/json-c/json-c is the official code repository for json-c. See the wiki for release tarballs for download. API docs at http://json-c.github.io/json-c/
json-c is a C JSON parsing library that provides native low-level access and minimal allocation overhead, fitting the JSON library category, but it lacks the zero-copy, SIMD, and streaming optimizations needed for the highest throughput and lowest latency scenarios.
A tiny JSON library for C++11.
json11 is a compact JSON parsing library for C++11, so it fits the basic request, but it lacks the high-performance features (SIMD, zero-copy, streaming) that this search specifically prioritizes.
This project is a high-performance JSON parsing library for Rust that utilizes hardware-accelerated instructions to process complex data structures. It functions as a type-safe serialization tool, mapping raw JSON strings into native language objects while providing the flexibility to handle dynamic document structures when schemas are unknown or frequently changing. The library distinguishes itself through its use of SIMD-accelerated parsing and bitmask-based structural identification, which allow it to scan and tokenize documents by processing multiple bytes simultaneously. It employs runti
simd-lite/simd-json is a Rust port of the highly optimized simdjson library, delivering SIMD-accelerated and zero-copy JSON parsing with low latency; it fits your need for an efficient JSON parsing library, though it may lack explicit C bindings or built-in concurrent parsing.
This is a Rust serialization library for converting data structures to and from JSON strings and byte streams. It is built as a framework within the Serde ecosystem, providing both a strongly typed parser for compile-time safety and a recursive value tree for manipulating JSON data without a predefined schema. The project supports both typed and untyped processing. It can map JSON data into specific Rust types for schema conformity or parse input into a flexible, schemaless representation. It also includes macro-based utilities for the dynamic construction of JSON objects.
serde_json is a Rust JSON parsing and serialization library that supports zero-copy deserialization and stream-based parsing, making it a capable choice for efficient JSON handling, but it lacks SIMD acceleration and a C API, so it does not fully meet the extreme low-latency and high-throughput requirements.
JSONKit is an Objective-C library used for parsing, serializing, and manipulating JSON data. It functions as a JSON parser that converts text into native data structures and a serializer that transforms native objects into formatted JSON text. The library includes a gzip compression wrapper that compresses serialized JSON payloads to reduce network transfer sizes and automatically detects and decompresses gzip buffers before decoding. The toolset provides capabilities for JSON parsing and serialization, supporting customizable indentation, character escaping, and flexible comment handling.
jsonkit is an Objective-C library for parsing and serializing JSON, but its description does not mention the high-performance features (SIMD, zero-copy, streaming) you are looking for, so it fits the category without the advanced optimizations.
gjson is a Go JSON parser designed for schema-less reading and value extraction. It allows for the retrieval of specific data from JSON documents using dot-notation paths without requiring the definition of predefined Go structs. The library provides tools for path-based querying, including the use of wildcards and index-based queries to locate data within objects and arrays. It also functions as a JSON lines processor, treating multi-line documents as arrays to iterate and query individual entries. Additional capabilities include converting JSON values into native Go types such as strings,
GJSON is a fast Go library for extracting values from JSON without schema definitions, but it lacks SIMD acceleration, a C API, and explicit support for concurrent parsing, making it a solid but narrower high-performance JSON parser for this search.
Newtonsoft.Json is a data processing utility for the .NET ecosystem designed to facilitate the transformation and exchange of information. It functions as a serialization library and object mapping framework, enabling the conversion of complex application objects into formatted JSON strings and the reconstruction of structured objects from raw JSON data. The library distinguishes itself through a flexible architecture that supports both strongly-typed class mapping and a dynamic object model for schema-less data manipulation. It employs reflection-based metadata mapping to automate property a
Newtonsoft.Json is a full-featured JSON serialization/parsing library for .NET, but it relies on reflection and allocation-heavy techniques rather than zero-copy, SIMD, or streaming, so it doesn't meet the low-latency and high-throughput goals you've prioritized.
| Repository | Stars | Language | License | Last push |
|---|---|---|---|---|
| lemire/simdjson | 23.9K | C++ | Apache-2.0 | |
| zserge/jsmn | 4.1K | C | mit | |
| bytedance/sonic |
| 9.5K |
| Go |
| Apache-2.0 |
| simdjson/simdjson | 23.3K | C++ | apache-2.0 |
| jimhigson/oboe.js | 4.8K | JavaScript | NOASSERTION |
| tencent/rapidjson | 15K | C++ | other |
| ijl/orjson | 8.1K | Python | Apache-2.0 |
| bblanchon/arduinojson | 7.2K | C++ | MIT |
| square/moshi | 10.1K | Kotlin | Apache-2.0 |
| google/gson | 24.4K | Java | apache-2.0 |