我有一个项目将使用单个JSON文件来描述其所包含的目录的内部内容。 Boost属性树库似乎是JSON解析库的最佳选择。但是,这个JSON文件(和许多其他文件一样)应该有一个非常特殊的布局,到目前为止我还没有找到一种在代码中表达规则的好方法。
Boost属性树库是否有允许用户执行以下任何操作的方法?
到目前为止,我发现this previous question可以解释如何将一些JSON键值对转换为数据结构,但它无法回答上面列出的任何功能是否可行。
答案 0 :(得分:4)
不支持指定的任何功能。
更糟糕的是,Property Tree甚至不支持JSON数据类型。在JSON方面,无论如何,一切都将是字符串。
哦,阵列没有直接支持:为丑陋的kludge做准备。
所有这些都在20行左右的文档中解释了属性树的JSON后端。
由于这些限制,请聪明并选择JSON库来构建您的需求。
答案 1 :(得分:1)
为了进一步考虑sehe的建议,如果你正在处理JSON,我会建议使用像nlohmann's library这样的用户友好的库。它相当快速和直观。
还有RapidJSON,它会影响所有内存分配等,影响可用性,但是(它自己的)tests中表现最佳。在搬到nlohmann之前,我遇到了处理单项数组的困难。