【项目组件】第三方库——Jsoncpp

目录

Json数据格式

认识Json数据格式 

Json数据类型分类

Jsoncpp库

Json::Value类 

StreamWriter类

CharReader类 

工厂类 

Jsoncpp使用流程

Json序列化

Json反序列化


Json数据格式

认识Json数据格式 

Json 是⼀种数据交换格式,它采用完全独立于编程语⾔的⽂本格式来存储和表示数据。
例如: 我们想表示⼀个同学的学⽣信息
C代码表示:
char *name = "xx"; //学生姓名
int age = 18; //学生年龄
float score[3] = {88.5, 99, 58}; //学生成绩

Json表示:

{
 "姓名" : "xx",
 "年龄" : 18,
 "成绩" : [88.5, 99, 58]
}
[
 {"姓名":"⼩明", "年龄":18, "成绩":[23, 65, 78]},
 {"姓名":"⼩红", "年龄":19, "成绩":[88, 95, 78]}
]

Json数据类型分类

Json的数据类型包括对象,数组,字符串,数字等

  • 对象:使⽤花括号 {} 括起来的表示⼀个对象
  • 数组:使⽤中括号 [] 括起来的表示⼀个数组
  • 字串:使⽤常规双引号 "" 括起来的表示⼀个字符串
  • 数字:包括整形和浮点型,直接使⽤

注意:Json的类型是可以嵌套使用的!

其中Json数据格式是以":"为分割的kv结构,":"左边的是key,":"右边的是value 


嵌套对象 

{
  "name": "John Doe",
  "age": 30,
  "address": {
    "street": "123 Main St",
    "city": "Anytown",
    "state": "CA",
    "zipcode": "12345"
  },
  "phoneNumbers": {
    "home": "555-1234",
    "work": "555-5678"
  }
}
  • 上述Json中,最外层的{}为一个对象,对象中属性包含name、age、address、phoneNumbers
  • address既是外层{}的属性之一,它本身也是一个对象,该对象中属性包含street、city、state、zipcode
  • phoneNumbers既是外层{}的属性之一,它本身也是一个对象,该对象中属性包含home、work
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值