我想用libJSON的JSONNode
创建一个数组。我尝试了以下内容,但它不起作用:
JSONNode array;
JSONNode foo("word", "foo");
JSONNode bar("word", "bar");
array.push_back(foo);
array.push_back(bar);
这导致:
{
"word": "foo",
"word": "bar"
}
我想要的是:
[
{"word": "foo"},
{"word": "bar"}
]
我很清楚,我没有说明我想要一个数组。问题是,我搜索了图书馆并搜索了一下,但我发现无法做到这一点。任何人都可以帮我解决这个问题吗?
(旁注:我想添加一个“libjson”标签,但这似乎还不存在,似乎。)
答案 0 :(得分:7)
您需要指定您正在创建阵列和复杂节点:
JSONNode array(JSON_ARRAY);
JSONNode foo(JSON_NODE);
JSONNode bar(JSON_NODE);
foo.push_back(JSONNode("word", "foo"));
bar.push_back(JSONNode("word", "bar"));
array.push_back(foo);
array.push_back(bar);
有关基本示例,请参阅libjson-VERSION.zip
中的“使用入门”文档。
旁注:我个人发现libjson很烦人,并且文档严重缺乏。在我自己的项目中,我使用JsonCpp或(更频繁地)Jansson作为我的C / C ++ JSON API。如果你没有被锁定到libjson,你可以尝试一下。