RapidJson和Boost Json Parser

时间:2016-04-14 11:25:22

标签: json boost boost-propertytree rapidjson

Boost Library中的Rapid JSON和Json解析器之间有什么区别(Boost \ property_Tree \ Json_parser.hpp)

感谢。

3 个答案:

答案 0 :(得分:3)

我在nativejson-benchmark中比较了37个C / C ++ JSON库,以获得标准一致性和性能。

但是,我未能在基准测试中集成Boost.PropertyTree(1.60),因为它将数字,true,false,null类型解析为字符串。

编辑:为了更直接地回答这个问题,Boost.PropertyTree无法提供大多数JSON库所做的JSON功能。另一方面,RapidJSON是一个具有高一致性和性能的JSON库。顺便说一句,除了解析/字符串化JSON之外,RapidJSON还提供流式API,JSON指针和JSON模式。这些功能在开源库中并不常见。

答案 1 :(得分:1)

对于您的所有信息,BOOST中集成了一个新库。

BOOST.Json https://www.boost.org/doc/libs/1_75_0_beta1/libs/json/doc/html/index.html

虽然不确定性能。

PS:我的评论没有50个声誉。

答案 2 :(得分:0)

编辑 - Boost Library似乎只使用RapidXML,而不是RapidJSON。

它应该与您无关,因为它无论如何都是库的实现细节。

所以答案可能是“不”(更可能的是,“是”),你可以从中获得绝对的一切,因为你不能依赖它。

选择您自己的XML库并在您需要的地方使用它:What XML parser should I use in C++?

IIRC Boost主要修改名称空间,因此当您选择RapidXML时不会出现ODR冲突