C++事件驱动的json流阅读器

Ser*_*gey 6 c++ json streamreader

我刚刚发现YAJL项目正是我需要的.

  • 从流中读取
  • 回调每个有效的解析标记
  • 新数据到达时重新分析不完整的json

但我更喜欢C++.当然我可以在C++项目中使用这个库,如果我真的想要编写我自己的包装器,但无论如何本机C++更可取.

我查看了JsonCPP,但看起来它无法从流中读取不完整的json数据.

是否还有其他用于解析json流的C++库?

更多要求:

  • 轻巧.提升或Qt不适合
  • 我需要一些我可以在商业闭源软件(mit,public domain等)中自由使用的东西.
  • 支持不阻止读取.或允许提供数据(append_incoming_data).

fgh*_*ghj 3

最近搜索有类似需求的库,实际发现只有1.5个库支持这样的需求:

  1. https://github.com/kazuho/picojson

一个标头库、BSD许可证,并具有如下接口:

Iter parse(value& out, const Iter& first, const Iter& last, std::string* err);
Run Code Online (Sandbox Code Playgroud)

所以你可以 append_incoming_data用几行代码来创建。

  1. https://github.com/dropbox/json11 一个文件库,许可证类似BSDc++11支持,但允许解析的接口部分来自网络json,需要补丁:

https://github.com/dropbox/json11/pull/55

聚苯乙烯

轻的。boost或Qt不适合

其实他们不合适是因为

允许提供数据

目前两者Qt5 jsonboost property_tree不能解析一半json