我需要这样的东西:
{
"Field1" : "Value1",
"Field2" : "Value2",
"Fields3": [
{ "Field311" : Value311, "Field312" : Value312},
{ "Field321" : Value321, "Field322" : Value322},
{ "Field331" : Value323, "Field333" : [
... some more fields here
]}
]
}
我从 json 字符串中获取 Fields1-2 并将它们转换为 mongo::BSONObj。然后我像这样将 Field3 添加到根目录:
mongo::BSONArray arr;
root["Field3"].Obj=arr;
之后我想循环填充 Field3,但我不明白如何正确地将 BSONObj 添加到数组中。我在C# 驱动程序中找到了“添加”方法,但 C++ 没有这样的东西。谷歌建议我使用 ArrayBuilder,但我不明白怎么做。请告诉我,我该怎么办?一些例子会非常有用。
另外,一个问题:为什么有 BSONObj 和 BSONElement,一些建设者等等......?在超级简单的 JsonCpp 之后,一切似乎都非常复杂(一切都通过简单地使用 [] 和 = 运算符和 append() 方法完成)。