[C++从零实现Json-Rpc框架]第二弹——使用JsonCpp库并封装Json工具类

目录
一、前言
在本篇博文中,博主将为大家带来【C++从零实现Json-Rpc框架】的第二弹,即使用JsonCpp库,并通过这个库来封装Json工具类方便我们后续网络通信的序列化和反序列。
二、JsonCpp库
1. Json数据格式
Json 是⼀种数据交换格式,它采⽤完全独立于编程语言的文本格式来存储和表示数据。
例如:我们想表示⼀个同学的学⽣信息
●C 代码表⽰
char *name = "xx"; int age = 18; float score[3] = {88.5, 99, 58}; ● Json 表示
{ "姓名" : "xx", "年龄" : 18, "成绩" : [88.5, 99, 58], "爱好" :{ "书籍" : "西游记", "运动" : "打篮球" } }Json 的数据类型包括对象,数组,字符串,数字等
• 对象:使⽤花括号 {} 括起来的表⽰⼀个对象
• 数组:使⽤中括号 [] 括起来的表⽰⼀个数组
• 字符串:使⽤常规双引号 "" 括起来的表⽰⼀个字符串
• 数字:包括整形和浮点型,直接使⽤
在这个示例中,person 是一个对象,包含了多个属性。其中 name 和 city 是字符串,age 和 pi 是数字,courses 和 numbers 是数组,address是另一个对象,嵌套在person这个对象里面
//Json { "person": { "name": "Alice", "age": 25, "isStudent": false, "courses": ["Math", "Science"], "address": { "street": "123 Main St", "city": "New York" } }, "numbers": [1, 2, 3, 4], "message": "Hello, world!", "pi": 3.14159 }2. JsonCpp介绍
Jsoncpp 库主要是⽤于实现 Json 格式数据的序列化和反序列化,它实现了将多个数据对象组织成为 json 格式字符串,以及将 Json 格式字符串解析得到多个数据对象的功能。 先看⼀下 Json 数据对象类的表⽰
class Json::Val