仅包含头文件的 C++ JSON 库
taoJSON 是一个仅包含头文件的 JSON 库,提供了通用的 值类,使用 类型特性 与 C++ 类型进行互操作,使用 事件接口 来转换为和从 JSON、JAXN、CBOR、MsgPack 和 UBJSON 等格式,以及更多内容。
对于有关 taoJSON 的问题和建议、成功或失败的案例以及其他任何反馈,请随时在 GitHub 上打开 讨论、 问题 或 Pull Request,或联系作者,地址为 taocpp(at)icemx.net。
[RFC8259], [ECMA-404]: JavaScript 对象表示法 (JSON) 数据交换格式。 * 在 [原生 JSON 基准测试] 中获得了 100% 的符合性分数。 * [RFC6901]: JavaScript 对象表示法 (JSON) 指针。 * [RFC6902]: JavaScript 对象表示法 (JSON) 补丁。 * [RFC7049]: 简洁的二进制对象表示法 ([CBOR])。 * [JAXN]: 放松的 JSON。 * [MsgPack]: MessagePack 二进制格式 (不含扩展)。 * [UBJSON]: 通用二进制 JSON。
JSON 数据模型扩展了无限数值和二进制数据。 * 通过 std::initializer_list 构建对象和数组。 * 通过 类型特征 进行来自任意 用户定义类型 的转换。 * 围绕 STL 容器 std::variant, std::string, std::map, std::vector 等构建。 * Value 类本身不进行内存分配(包装的容器正常分配)。 * 通过非所有权指针共享字符串、二进制数据、Value 和 用户定义类型。 * 为 Values 提供 C++11 字面值运算符,包括二进制数据。 * 可选的 Values 基类 (例如,用于 [为 (子)值添加文件和行号注释](doc/Advanced-U
暂无开放 Issues,或尚未同步最近议题。