问题标签 [ptree]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
5520 浏览

c++ - 添加子子项以提升 ptree

假设我的目标是创建以下形式的 xml:

我有以下代码:

我会假设以下内容会起作用:

但是,这会生成以下 xml:

通过将 temp1 设置为以下形式,我能够获得所需的 xml 文件:

有没有办法可以使用我的初始 temp1 和 temp2 节点来获得所需的 xml 结构?

0 投票
1 回答
1293 浏览

c++ - 提升属性树 add_child 指定路径

我正在使用 boost::property_tree 来操作一些 XML。我必须将子节点添加到 xml 文档

xml 文档如下所示:

所以我有以下代码在上面 XML 中标记的位置插入新条目:

上面的代码将添加的数据包装在以下内容中:

我想避免。

这个错误的标记来自我的 add_child 调用,它将插入路径指定为“./”

不指定任何内容会导致异常,这是我发现唯一有效的方法。

已读取ptree.hp p 的头文件,其中指出参数是

有没有办法指定当前路径,例如。ptContentProtection 的路径?

0 投票
1 回答
629 浏览

c++ - 提升 ptree 顶级数组

我想write_json输出一个顶级数组,效果如下:

但是当我将一个列表传递给 时write_json,它会转换为一个充满空白键的 json。

使用add_child实际上尊重数组并给了我最接近的东西:

但这仍然不是我想要的。

知道如何使该数组成为顶级吗?

0 投票
1 回答
364 浏览

c++ - 如何使用 C++ 将 Boost ptree 插入 MongoDB

我在https://mongodb.github.io/mongo-cxx-driver/mongocxx-v3/tutorial/有 MongoDB C++ 驱动程序已编译并准备就绪,并使用文字数据进行了测试。

但挑战在于如何将 Boost ptree 作为文档存储到 MongoDB 中。我有一个 Boost ptree,因为我使用 Boost 来解析 JSON 字符串。

过程如下:

输入 --> JSON 字符串 (OK) --> Boost ptree (OK) --> MongoDB 插入(卡住了!)

0 投票
1 回答
1515 浏览

c++ - 提升 ptree 数字数组

我使用以下代码创建一个数字数组。

运行以下代码后,我得到以下结果:

这很好,除了我想要的结果必须是一个数字数组而不是字符串。直接添加一个数字boost::property_tree::ptree(x)也会给我一个错误。如何生成输出 json 结果?

代码:

0 投票
1 回答
677 浏览

c++ - boost::property_tree 传递子树包括

我正在尝试将 boost::property_tree::ptree 的元素传递给函数。详细地说,我必须遵循初始化 ptree 的 XML 代码:

我想将它的一部分传递给一个函数。基本上我想通过:

该函数可能如下所示:

一般来说,我可以使用ptree::get_child("par2"). 这样做的缺点是该函数无法访问<xmlattr>该节点。

如何通过访问树的这一部分<xmlattr>?提前感谢您的任何想法。

〜彼得

0 投票
0 回答
82 浏览

c++ - 将从服务器返回的 JSON 加载到 Protobufs 中?

我正在开发一个 C++ 客户端,他们使用 protobufs 将 JSON(该客户端发送)转换为 Protobuf,并以 JSON 格式再次发送回响应。

问题是我需要一个强大的 json 解析器,我觉得 Google 协议缓冲区是最好的。到目前为止,我已经使用了 Boost Json Parser (P-Tree) 并尝试了 Rapid Json,但它们并不那么灵活。

用例:-

  1. 服务器发送的Json需要修改,很多情况。
  2. 客户端将使用 protobuf 的包装器在内部创建 JSON 并将其发送到服务器。

我从用户以下列方式加载 Json

或者像这样来自响应 JSON

问题在于 JSON 修改,因为服务器发送的 json 可能采用相同的通用格式,也可能不同,因此特定键的修改很难解析和修改。

我如何使用 protobufs 来克服这个问题?

0 投票
2 回答
933 浏览

boost - 遍历多级提升树

我的树看起来像这样:

我想做的是遍历库。当我找到我正在寻找的 L_ID 时,遍历书籍直到找到我正在寻找的 B_ID。那时,我想访问该部分中的所有叶子。即寻找图书馆 2, book 1, title 注意:可能有比这更好的方法。

一旦我尝试查看我的第一个子树,我就会失败。这里怎么了??

0 投票
3 回答
1266 浏览

c++ - C++:boost ptree remove children:没有匹配的函数

为了删除 boost 属性树的子节点,我在erase函数中使用了一个直接节点,这会导致

代码的正确形式是什么?

0 投票
1 回答
1272 浏览

c++ - C++:提升 ptree 相对键

ptree在使用from 的C++ 中boost,我需要找到要访问a.b.c2.e1from的相对键a.b。这把钥匙是c2.e1。如何编写一个找到这个相对键的函数?