A fast, header-only JSON parser and generator for C++ with SAX and DOM APIs.
RapidJSON is a C++ library for parsing and generating JSON data. It provides both SAX (event-driven) and DOM (tree-based) APIs, focusing on high performance, low memory footprint, and full compliance with JSON standards. It solves the need for a fast, lightweight, and dependency-free JSON solution in C++ applications.
C++ developers building applications that require efficient JSON serialization/deserialization, such as web services, game engines, configuration systems, or data processing tools.
Developers choose RapidJSON for its exceptional speed, header-only design with no external dependencies, and comprehensive feature set including Unicode support and optional schema validation, making it both powerful and easy to integrate.
A fast JSON parser/generator for C++ with both SAX/DOM style API
Optimized for speed with performance comparable to strlen(), and optional SSE2/SSE4.2 acceleration for faster parsing in performance-critical applications.
As a header-only library with no external dependencies like BOOST or STL, it simplifies integration and reduces build system complexity.
Supports both SAX (event-based) and DOM (tree-based) APIs, allowing developers to choose based on use case for efficient large-file parsing or convenient data manipulation.
Each JSON value uses only 16 bytes on most architectures, with a fast memory allocator to minimize overhead in memory-constrained environments.
Parsing errors require explicit checks via methods like HasParseError(), increasing boilerplate code and risk of unhandled issues compared to exception-based libraries.
The low-level API can be verbose and less ergonomic than modern C++ alternatives, necessitating more code for common tasks like object serialization.
With the last major release in 2016, it may lack features from newer C++ standards and active community updates, potentially lagging behind other libraries.
JSON for Modern C++
Parsing gigabytes of JSON per second : used by Facebook/Meta Velox, the Node.js runtime, ClickHouse, WatermelonDB, Apache Doris, Milvus, StarRocks
Ultralightweight JSON parser in ANSI C
A C++ library for interacting with JSON.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.