项目对于Json序列化的简单学习和使用
Posted zhaocx111222333
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序列化的简单学习和使用的主要内容,如果未能解决你的问题,请参考以下文章