我在使用boost库,C++中的属性树创建json数组时遇到了麻烦。使用boost创建json数组property_tree
我把作为参考this线程,尤其是这部分
ptree pt;
ptree children;
ptree child1, child2, child3;
child1.put("childkeyA", 1);
child1.put("childkeyB", 2);
child2.put("childkeyA", 3);
child2.put("childkeyB", 4);
child3.put("childkeyA", 5);
child3.put("childkeyB", 6);
children.push_back(std::make_pair("", child1));
children.push_back(std::make_pair("", child2));
children.push_back(std::make_pair("", child3));
pt.put("testkey", "testvalue");
pt.add_child("MyArray", children);
write_json("test2.json", pt);
结果:
{
"testkey": "testvalue",
"MyArray":
[
{
"childkeyA": "1",
"childkeyB": "2"
},
{
"childkeyA": "3",
"childkeyB": "4"
},
{
"childkeyA": "5",
"childkeyB": "6"
}
]
}
但我能做些什么,如果我想实现只是简单的阵列不含任何对象?像这样:
[
{
"childkeyA": "1",
"childkeyB": "2"
},
{
"childkeyA": "3",
"childkeyB": "4"
},
{
"childkeyA": "5",
"childkeyB": "6"
}
]
非常感谢。支持JSON
如果你使用'pt.add_child( “”,孩子们)会发生什么;'? – NathanOliver
应用程序崩溃,因为它试图将孩子添加到空白部分,不幸的是.. 类似'pt.add_child(NULL,children);' –