jsoncpp只用一个元素写json数组

时间:2018-07-10 10:33:04

标签: c++ arrays jsoncpp

我在使用jsoncpp时遇到问题。代码如下:

Json::Value content;
for ( int i=0; i < len; ++i)
{
    content["res"].append(strs[i]);
}

我的情况是,当我的字符串向量strs仅包含一个元素时,最后的json字符串如下:

"res":"a"

但是,我期望这样的事情:

"res":["a"]

我希望有人把我拉出来,谢谢大家!!!

3 个答案:

答案 0 :(得分:2)

您必须将 content 初始化为执行此操作的数组:

Json::Value content(Json::arrayValue);

答案 1 :(得分:1)

问题已解决!感谢@ dani2442和@stetoc

的帮助

我用下面的代码运行了一个小测试:

Json::Value root, content(Json::arrayValue);
content.append("a");
root["res"]=content;
cout << root.toStyledString() <<endl;

结果是:

{
    "res" : [ "a" ]
}

答案 2 :(得分:0)

afaik的内容应定义为Json::arrayValue而不是内容