如何使用libjson创建数组

How create an array using libjson?

本文关键字:数组 创建 libjson 何使用      更新时间:2023-10-16

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

您需要指定您正在创建一个数组和复杂节点:

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