我有一个从 json 文件中读取一些参数的应用程序,但现在该文件已更改(这不是我的决定)。该文件看起来非常相似,但它没有 {}
,而是 []
,所以如果直到现在它看起来像
{
"A":
{
"a":"a",
"b":"b"
}
}
现在是这样的:
[
"A":
[
"a":"a",
"b":"b"
]
]
我的应用程序是用 C++ 编写的,所以我使用了 boost 来解析 json 文件,但现在我正在寻找一个新的解析器,有没有办法用 boost 来完成?
我已经开始搜索,但我也提出了这个问题,认为也许有人可以比我找到答案更快地帮助我。谢谢
最佳答案
它看起来像是另一个 YAML/Mustache/JSON/... 的衍生品。
如果没有正式的规范,就很难实际评估需要付出多少努力,但这里有一个 Boost Spirit 中类似语法的实现列表,具有不同程度的功能完整性:
- How to parse mustache with Boost.Xpressive correctly? <-- 这可能是您最匹配的演示
- Parse a substring as JSON using QJsonDocument (最小子集,使用类似这样的东西将输入转换为正确的 JSON,例如?)
- Reading JSON file with C++ and BOOST一个全功能的 JSON 解析器(带有 AST 和转义但没有注释)
玩具 JSON 解析器实现的应用:
关于c++ - 如果不是json,但类似,如何使用boost解析?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28601603/