jsoncpp 写入只有一个元素的 json 数组

jsoncpp write json array with only one element

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

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

我的情况是,当我的字符串向量 strs 只有一个元素时,最终的 json 字符串如下:

"res":"a"

不过,我期待的是:

"res":["a"]

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

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

您必须将 content 初始化为一个数组,这样做:

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

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

的帮助

我 运行 使用以下代码进行了一些测试:

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

结果是:

{
    "res" : [ "a" ]
}