【问题标题】:How create an array using libjson?如何使用 libjson 创建数组?
【发布时间】:2012-01-31 20:47:36
【问题描述】:

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

【问题讨论】:

    标签: c++ arrays json libjson


    【解决方案1】:

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

    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 锁定,你可以试试看。

    【讨论】:

    • 非常感谢。我看到我的问题的所有答案是多么明显。 :(
    • 你认为现在最好的 c++ json 是什么?
    猜你喜欢
    • 2014-02-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-19
    • 1970-01-01
    • 2018-02-01
    相关资源
    最近更新 更多