C++中json解析开源库收集,支持json5

本文列举了多个C++中用于JSON解析的开源库,包括zpl-c、HJSON、cJSON、RapidJSON(推荐)、DAW JSON Link v2等。这些库各具特色,如RapidJSON速度快且内存友好,DAW JSON Link v2则是目前最快的反序列化/序列化器之一。此外,还有JsonCpp(保留注释)和Jsonnet(Google推出的一种JSON模板语言)等值得关注的库。
摘要由CSDN通过智能技术生成

zpl-c 库

是一个多功能集合库,其中有 JSON5 解析器。支持注释
在这里插入图片描述

链接: https://github.com/zpl-c/zpl#

HJSON

HJSON支持注释,支持多种语言。

c++库链接: https://github.com/hjson/hjson-cpp

链接:https://github.com/hjson/

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++ 数据结构。这允许利用文档的已知结构进行更好的检查和性能。

JSON

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值