A C++ header-only JSON library with a generic value class, type traits, and support for JSON, JAXN, CBOR, MsgPack, and UBJSON.
taoJSON is a C++ header-only JSON library that provides a generic value class, type traits for C++ type interoperability, and an events interface for converting between JSON and other formats like JAXN, CBOR, MsgPack, and UBJSON. It solves the need for a flexible, standards-compliant JSON solution in modern C++ applications without external dependencies.
C++ developers working on applications that require JSON parsing, serialization, or data interchange with support for multiple binary and text-based formats.
Developers choose taoJSON for its header-only design, comprehensive standards support, seamless integration with C++ types via type traits, and the ability to handle multiple data formats beyond JSON, all while maintaining high performance and conformance.
C++ header-only JSON library
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Achieves 100% conformance in the Native JSON Benchmark, ensuring reliability and compatibility with JSON, JSON Pointer, JSON Patch, and binary formats like CBOR and MsgPack.
Uses type traits to enable automatic conversion between JSON and arbitrary user-defined C++ types, simplifying serialization and deserialization without boilerplate code.
Built-in conversion for JSON, JAXN, CBOR, MsgPack, and UBJSON eliminates the need for additional libraries, offering flexibility in data interchange formats.
As a header-only library with no extra memory allocations in the Value class, it integrates easily into projects and leverages STL containers for optimal performance.
The README explicitly states the library is under construction with potential breaking changes before version 1.0, making it risky for long-term production use.
Documentation lags behind development, as warned in the README, which can hinder onboarding and troubleshooting for new users.
The extensive feature set, including events interface and multiple formats, adds unnecessary complexity for developers only needing basic JSON parsing.