Boost ptree顶层数组
Boost ptree top level array
我想让write_json
输出一个顶级数组,达到以下效果:
[{...},{...},{...},...,{...}]
但是当我将列表传递给write_json
时,它会转换为一个充满空白键的json。
{"":{...},"":{...},"":{...},..."":{...}}
使用add_child
实际上尊重数组,并给我最接近的东西:
{"Some Key":[{...},{...},{...},...,{...}]}
但那仍然不是我想要的。
知道如何使数组顶层吗?
Boost没有JSON库(也没有XML库)。它有一个属性树库(它恰好包含一个JSON兼容的表示)。
您遇到的限制在那里有非常清楚的记录:http://www.boost.org/doc/libs/1_62_0/doc/html/property_tree/parsers.html#property_tree.parsers.json_parser
属性树数据集没有类型化,并且不支持数组。因此,使用以下JSON/属性树映射:
- JSON对象映射到节点。每个属性是一个子节点。
- JSON数组被映射到节点。每个元素都是一个名称为空的子节点。如果一个节点同时具有命名子节点和未命名子节点,则不能将其映射到JSON表示。
- JSON值被映射到包含该值的节点。但是,所有类型信息都会丢失;数字,以及字面量"null", "true"answers"false"被简单地映射到它们的字符串形式。
- 不能映射同时包含子节点和数据的属性树节点。
- JSON往返,除了类型信息丢失。
下面是一个你会遇到的例子
相关文章:
- Mongodb c++驱动程序:如何查询元素的数组
- 将数组的地址分配给变量并删除
- 从C++本机插件更新Vector3数组
- lambda参数转换为constexpr技巧,然后获取带链接的数组
- 将数组作为参数传递给函数安全吗?作为第三方职能部门,可以探索他们想要的之外的其他元素
- 数组索引的值没有增加
- 将对象数组的引用传递给函数
- 为char数组调整zlib-zpipe
- 2D数组来自文本输入,中间有空格
- std::向量与传递值的动态数组
- 在c++中用vector填充一个简单的动态数组
- 使用strcpy将char数组的元素复制到另一个数组
- 使用指针从C++中的数组中获取最大值
- C++使用整数的压缩数组初始化对象
- 告诉一个 const char 数组,除了编译时 C 样式的字符串外,它不以 '