JSONCPP有一个编写器,但它所做的似乎只是从解析器获取信息,然后将其输出到字符串或流中。我如何让它改变或创建新的对象、数组、值、字符串等,并将它们写入文件?
发布于 2013-01-08 16:40:59
#include<json/writer.h>
代码:
Json::Value event;
Json::Value vec(Json::arrayValue);
vec.append(Json::Value(1));
vec.append(Json::Value(2));
vec.append(Json::Value(3));
event["competitors"]["home"]["name"] = "Liverpool";
event["competitors"]["away"]["code"] = 89223;
event["competitors"]["away"]["name"] = "Aston Villa";
event["competitors"]["away"]["code"]=vec;
std::cout << event << std::endl;
输出:
{
"competitors" :
{
"away" :
{
"code" : [ 1, 2, 3 ],
"name" : "Aston Villa"
},
"home" :
{
"name" : "Liverpool"
}
}
}
发布于 2015-05-12 03:28:30
#include <json.h>
#include <iostream>
#include <fstream>
void main()
{
std::ofstream file_id;
op_file_id.open("file.txt");
Json::Value value_obj;
//populate 'value_obj' with the objects, arrays etc.
Json::StyledWriter styledWriter;
file_id << styledWriter.write(value_obj);
file_id.close();
}
发布于 2010-11-27 11:45:32
AFAICT中,您创建类型为Json::Value的对象,它满足所有JSON数据类型的需求,并将结果传递给Json::Writer (具体地说,是它的派生类型之一),或者只是传递给一个流。
例如:要将一个包含三个整数的数组写入文件:
Json::Value vec(Json::arrayValue);
vec.append(Json::Value(1));
vec.append(Json::Value(2));
vec.append(Json::Value(3));
std::cout << vec;
https://stackoverflow.com/questions/4289986
复制相似问题