RapidJSON 2017.7.3高性能C++JSON库
高性能 C++项目里头用 JSON,有个库你会用得上——RapidJson。轻量、速度快、还不用 STL,挺适合对性能要求比较高的场景,比如游戏引擎、嵌入式应用啥的。2017.7.3 这个版本稳定性做得还不错,适合直接打包到项目里用,尤其你搞不到 GitHub 源码的时候。
内存管理方面,RapidJson 用了内存池,意思就是一大块内存先整好,后面按需从里面切小块用,省得老是new/delete
,性能提升挺的,尤其在大批量解析 JSON 的时候,响应也快,资源占用也少。
零依赖是它的另一个优势,整个库不靠别的东西,包括 STL 都没用,移植起来省心,放到嵌入式设备里也没问题。文件结构比较清晰,源码都在rapidjson-master
目录里,include/rapidjson/
是核心头文件,像document.h
、writer.h
这些常用的都在这儿。
API也蛮直观的,Document
是主角,用来解析 JSON 字符串,Value
表示里面的值,无论你是数组、对象、字符串还是布尔类型,都能搞定。Reader
、Writer
支持流式操作,配合StringBuffer
可以生成格式化的 JSON 串,适合大文件。
SAX 模式也是个亮点,适合你想自己定义读取过程的时候用,控制更细;错误也做得到位,解析出错会抛异常,你可以按需捕获,避免崩溃。
,如果你做的是对性能敏感的 C++项目,RapidJson还挺值得一试。如果你想深入了解,可以看看它的源码结构,也可以参考这些扩展文章:RapidJSON C++ JSON 解析库 和 静态内存池源代码 C++编写。
如果你正好在找一个小巧又快的 JSON 库,又不想引入太多依赖,那可以直接把这个版本的RapidJson
拉下来看看,蛮省事。
1.11MB
文件大小:
评论区