项目对于Json序列化的简单学习和使用
Posted zhao111222333444
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了项目对于Json序列化的简单学习和使用相关的知识,希望对你有一定的参考价值。
jsoncpp基本应用认识和学习
安装开发包:
json工作的主要类:
json::value:接收外来数据
json::Reader:反序列化
parse(value,reader);
json::Writer类:序列化
1 #include<iostream>
2 #include<string>
3 #include<jsoncpp/json/json.h>
4 using namespace std;
5 string seria()
6
7 const char* name="张三";
8 int id=001;
9 int score[3]=99,98,97;
10 const char* sex="男";
11
E> 12 Json::Value val;
13 val["姓名"]=name;
14 val["学号"]=id;
15 val["性别"]=sex;
16 for(int i=0;i<3;++i)
17 val["成绩"].append(score[i]);
18
19 string str;
E> 20 Json::StyledWriter writer;
21 str=writer.write(val);
E> 22 cout<<str<<endl;
23 return str;
24
25
26 void unseria(string& str)
E> 27 Json::Value val;
E> 28 Json::Reader reader;
29 bool ret=reader.parse(str,val);
30 if(ret==false)
E> 31 cout<<"prase error;"<<endl;
32 return;
33
E> 34 cout<<val["姓名"].asString()<<endl;
E> 35 cout<<val["学号"].asInt()<<endl;
E> 36 cout<<val["性别"].asString()<<endl;
37 int num=val["成绩"].size();
38 for(int i=0;i<num;++i)
E> 39 cout<<val["成绩"][i].asInt()<<endl;
40
41 return;
42
43
44
45 int main()
46 string str=seria();
47 unseria(str);
48 return 0;
49
花括号其实是字符串哦
“****”
以上是关于项目对于Json序列化的简单学习和使用的主要内容,如果未能解决你的问题,请参考以下文章