2

我想用 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”标签,但似乎还不存在。)

4

1 回答 1

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,您可以尝试一下。

于 2012-01-31T20:56:19.807 回答