我有一个项目将使用单个 JSON 文件来描述它所在目录的内部内容。 Boost Property Tree 库似乎是 JSON 解析库的最佳选择。然而,这个 JSON 文件(像许多其他文件一样)应该有一个非常特殊的布局,到目前为止我还没有找到在代码中表达规则的好方法。
Boost Property Tree 库是否有任何方法允许用户执行以下任何操作?
- 不允许使用无法识别的 key 。
- 根据需要或可选指定 key 。
- 指定键的预期值类型(null、bool、int、float、array、dictionary)。
到目前为止,我找到了 this previous question它阐明了如何将一些 JSON 键值对转换为数据结构,但它没有回答上面列出的任何功能是否可行。
最佳答案
指定的功能均不受支持。
更糟糕的是,Property Tree 甚至不支持 JSON 数据类型。在 JSON 方面,无论如何,一切都是字符串。
哦,不直接支持数组:为丑陋的拼凑做好准备。
所有这些都在解释 Property Tree 的 JSON 后端的 20 多行文档中。
Because of these limitations, be smart and choose for a JSON library to build your requirements upon.
关于c++ - Boost Property Tree 是否有为要解析的数据定义规则的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44221676/