文章目录
-
- zpl-c 库
- HJSON
- cJSON
- RapidJSON (推荐)
- DAW JSON Link v2
- JSON ,这库稳定,文档齐全。(推荐)
- json-c (c实现)
- json_dto (一个小的头文件助手)
- json11 ( C++11 的小型 JSON 库 )
- json_spirit (开发中,可以关注看看)
- Boost.Spirit 模块
- jsoncons (大文件解析)值得一试
- JsonCpp (保留注释)推荐
- Jsonnet (Google 推出的一门 JSON 模板语言,用来取代 JSON)
- json-tutorial (自己实现一个josn库的教程)
- jwt-cpp (验证 json Web tokens )
- PicoJSON
- sajson
- simdjson :每秒解析千兆字节的 JSON (推荐)
- yyjson (C 中最快的 JSON 库)
zpl-c 库
是一个多功能集合库,其中有 JSON5 解析器。支持注释
链接: https://github.com/zpl-c/zpl#
HJSON
HJSON支持注释,支持多种语言。
c++库链接: https://github.com/hjson/hjson-cpp
cJSON
用c写的超轻量级JSON解析器。只有一个.h和.c。
链接:https://github.com/DaveGamble/cJSON
RapidJSON (推荐)
RapidJSON 是一个 C++ 的 JSON 解析器及生成器。它的灵感来自 RapidXml。
RapidJSON 小而全。它同时支持 SAX 和 DOM 风格的 API。SAX 解析器只有约 500 行代码。
RapidJSON 快。它的性能可与 strlen() 相比。可支持 SSE2/SSE4.2 加速。
RapidJSON 独立。它不依赖于 BOOST 等外部库。它甚至不依赖于 STL。
RapidJSON 对内存友好。在大部分 32/64 位机器上,每个 JSON 值只占 16 字节(除字符串外)。它预设使用一个快速的内存分配器,令分析器可以紧凑地分配内存。
RapidJSON 对 Unicode 友好。它支持 UTF-8、UTF-16、UTF-32 (大端序/小端序),并内部支持这些编码的检测、校验及转码。例如,RapidJSON 可以在分析一个 UTF-8 文件至 DOM 时,把当中的 JSON 字符串转码至 UTF-16。它也支持代理对(surrogate pair)及 “\u0000”(空字符)。
链接:
http://rapidjson.org/zh-cn/
DAW JSON Link v2
可能是最快的JSON反序列化/序列化器
C++ 中的快速 JSON 序列化和解析
DAW JSON Link 库提供了多种方式在 C++ 中序列化/反序列化 JSON 文档。主要是将 JSON 直接解析为 C++ 数据结构。这允许利用文档的已知结构进行更好的检查和性能。