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

项目对于Json序列化的简单学习和使用

Flutter框架项目的手动序列化小项目以及对于进程异步性和格式化代码的研究

序列化(json,shelve)

Flutter -------- 解析JSON数据

JSON.NET使用简单说明

RestFramework