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" ]
}
我在使用 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" ]
}