如何使用libjson创建数组?

Nek*_*eko 2 c++ arrays json libjson

我想用libJSON创建一个数组JSONNode.我尝试了以下,但它不起作用:

JSONNode array;
JSONNode foo("word", "foo");
JSONNode bar("word", "bar");
array.push_back(foo);
array.push_back(bar);
Run Code Online (Sandbox Code Playgroud)

这导致:

{ 
    "word": "foo", 
    "word": "bar"
}
Run Code Online (Sandbox Code Playgroud)

我想要的是:

[
    {"word": "foo"},
    {"word": "bar"}
]
Run Code Online (Sandbox Code Playgroud)

我很清楚,我没有指定我想要一个数组.问题是,我搜索了图书馆并搜索了一下,但我发现无法做到这一点.有人可以帮我解决这个问题吗?

(旁注:我想添加一个"libjson"标签,但这似乎还不存在,似乎.)

Jus*_*ᚄᚒᚔ 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);
Run Code Online (Sandbox Code Playgroud)

有关libjson-VERSION.zip一些基本示例,请参阅"入门"文档.

旁注:我个人发现libjson很烦人,并且文档严重缺乏.在我自己的项目中,我使用JsonCpp或(更常见)Jansson作为我的C/C++ JSON API.如果您没有被锁定到libjson,您可以尝试一下.