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

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

类和对象

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

C++如何分别读取和查找txt文档中的内容

JSON.NET使用简单说明

excel问题:有一张表 姓名 学号 科目 成绩 想变成 姓名 学号 语文 英语 数学 张三 001