c++ - 如果不是json,但类似,如何使用boost解析?

标签 c++ parsing boost

我有一个从 json 文件中读取一些参数的应用程序,但现在该文件已更改(这不是我的决定)。该文件看起来非常相似,但它没有 {},而是 [],所以如果直到现在它看起来像

{
  "A":
  {
    "a":"a",
    "b":"b"
  }
}

现在是这样的:

[
  "A":
  [
    "a":"a",
    "b":"b"
  ]
]

我的应用程序是用 C++ 编写的,所以我使用了 boost 来解析 json 文件,但现在我正在寻找一个新的解析器,有没有办法用 boost 来完成?

我已经开始搜索,但我也提出了这个问题,认为也许有人可以比我找到答案更快地帮助我。谢谢

最佳答案

它看起来像是另一个 YAML/Mustache/JSON/... 的衍生品。

如果没有正式的规范,就很难实际评估需要付出多少努力,但这里有一个 Boost Spirit 中类似语法的实现列表,具有不同程度的功能完整性:

玩具 JSON 解析器实现的应用:

关于c++ - 如果不是json,但类似,如何使用boost解析?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28601603/

相关文章:

c++ - boost rtree.bounds() : getting more boxes and/or accessing to its structure

c++ - 需要解析一个字符串,有一个掩码(像这样的 "%yr-%mh-%dy"),所以我得到了 int 值

c++ - 在 MATLAB MEX 库中使用 boost,与 MATLAB 的版本不同

c++ - perl 正则表达式比 c++/boost 更快

c++ - Fork() 子项中的变量值

c++ - MacOS 上的 gcc : Strange threading error

IOS app Performance is too slow for parse data with swiftyjson

c++ - 我如何将多态属性与 boost::spirit::qi 解析器一起使用?

c++ - 输入和中断 C++ for 循环 : minimum of 10 iterations AND no empty string

parsing - 如何使用 Scapy 解析 802.1q 三重标记帧?