这个项目能做什么
nlohmann/json(JSON for Modern C++)是一个仅头文件的 C++ 库,为 C++11 及更高版本提供 JSON 支持。整个实现包含在单个文件(single_include/nlohmann/json.hpp)中,不需要外部依赖或复杂的构建配置,并通过许多包管理器分发。它旨在让 JSON 在 C++ 中感觉像一等数据类型,使用运算符重载和初始化列表实现直观的对象和数组构造。
该库包括从字符串、流和迭代器范围进行解析以及序列化到这些目标;类 STL 的元素访问;以及 JSON 值与标准 C++ 类型之间的转换,包括通过特化支持任意用户定义类型。它实现了 JSON Pointer、JSON Patch 和 JSON Merge Patch,用于查询和修改文档,并支持多种二进制序列化格式:BSON、CBOR、MessagePack、UBJSON 和 BJData。还提供 SAX 风格的解析接口,用于事件驱动用途。
根据 README,该项目强调全面测试:100% 单元测试覆盖率,使用 Valgrind 和 Clang sanitizers 进行内存检查,并通过 Google OSS-Fuzz 进行持续模糊测试。文档、FAQ、API 参考和示例托管在 json.nlohmann.me。集成选项包括 CMake、包管理器和 pkg-config。该库仅支持 UTF-8;其他编码在转储时需要配置错误处理程序。
评论
0 评分人数达到10人后显示
登录后参与讨论。