前言:
而今同学们对“jsoncpp使用”大体比较关怀,兄弟们都需要分析一些“jsoncpp使用”的相关内容。那么小编在网摘上搜集了一些关于“jsoncpp使用””的相关文章,希望姐妹们能喜欢,兄弟们一起来了解一下吧!使用jsoncpp从变量创建一个json对象
假设现在只有一些变量,其中便利定义如下:
string tags= "grade";
string teacherName = "boss";
int classGrade = 6;
string studentsName[3] = {"zhang","wang","li"};
uint studentsAge[3] = {5,6,7};
float averagescore = 99.9;
现在需要将以上变量转化成Json对象,再进行序列化,以便于数据传输,其中变量转Json字符串的方法如下。
void serializeVariableToJson(){
Json::Value gradeJson_;
Json::Value gradeJsonContent_;
Json::Value studetsJsonContent_;
//将信息标识填充至Json对象
gradeJson_["tag"] = tags;
//填充年级的信息
gradeJsonContent_["teacher"] = teacherName;
gradeJsonContent_["class"] = classGrade;
//填充学生的信息
studetsJsonContent_["name"]= studentsName[3];
studetsJsonContent_["age"]= studentsAge[3];
studetsJsonContent_["averagescore"]= averagescore;
//将学生信息包含至年级信息下
gradeJsonContent_["students"] = studetsJsonContent_;
//将年级信息填充至Json对象
gradeJson_["grade1"] = gradeJsonContent_;
}
此时gradeJson为包含所有信息的Json对象,将其打印出来,其值如下:
{
"tag": "grade",
"grade1":{
"teacher": "Angle",
"class": 6,
"students": {
"name":["zhang","wang","li"],
"age": [5,6,7],
"averagescore": 99.9
}
}
}
提取Json格式的字符串中的值提取到诸多变量中
假设已经存在一个Json对象,此时需要将Json对象中的值提取到对应的变量中,假设Json对象如下:
Json::Value data = {
"tag": "grade",
"grade1":{
"teacher": "Angle",
"class": 6,
"students": {
"name":["zhang","wang","li"],
"age": [5,6,7],
"averagescore": 99.9
}
}
}
现在需要将以上Json对象转化成变量,以便于程序使用,假设程序中已经有如下定义:
string tags = "";
string teacherName = "";
int classGrade = 0 ;
string studentsName[3] = {};
uint studentsAge[3] = {};
float averagescore = 0 ;
在此进行反序列化:
void deserializeJsonToVariable(){
Json::Reader reader_;
Json::Value value_;
if (reader_.parse(data, value_)){
tags = value["tag"].asString();
teacherName = value["grade1"]["teacher"].asString();
classGrade = value["grade1"]["class"].asInt();
for(int count_=0;count_<3;count_++){
studentsName[count_]=value["grade1"]["students"]["name"][count_].asString();
studentsAge[count_]=value["grade1"]["students"]["age"][count_].asInt();
}
averagescore = value["grade1"]["students"]["averagescore"].asDouble();
}
此时完成数据从Json到变量的附值,其值如下:
string tags= "grade";
string teacherName = "boss";
int classGrade = 6;
string studentsName[3] = {"zhang","wang","li"};
uint studentsAge[3] = {5,6,7};
float averagescore = 99.9;
标签: #jsoncpp使用 #jsoncpp解析json文件 #jsoncpp使用方法