Json简介

Json是一种轻量级的数据交换格式(也叫数据序列化方式)。Json采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 Json 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。
在这里插入图片描述
在网络中,常用的数据传输序列化格式有XML,Json,ProtoBuf,在公司级别的项目中,大量的在使用ProtoBuf作为数据序列化的方式,以其数据压缩编码传输,占用带宽小,同样的数据信息,是Json的1/10,XML的1/20,但是使用起来比Json稍复杂一些,所以项目中我们选择常用的Json格式来打包传输数据。下面列举一些项目中用到的有关Json数据的序列化和反序列化代码,仅供参考!JSON for Modern C++这个三方库的使用非常简单,如下所示:
在这里插入图片描述

序列化

  1. 普通数据序列化
    在这里插入图片描述
  2. 容器序列化
    在这里插入图片描述
    在这里插入图片描述

反序列化

string jsonstr = js.dump(); 
cout<<"jsonstr:"<<jsonstr<<endl; 
// 模拟从网络接收到json字符串,通过json::parse函数把json字符串专程json对象 
json js2 = json::parse(jsonstr); 
// 直接取key-value 
string name = js2["name"]; 
cout << "name:" << name << endl; 
// 直接反序列化vector容器 
vector<int> v = js2["list"]; 
for(int val : v) 
{ 
	cout << val << " "; 
}
cout << endl; 
// 直接反序列化map容器
map<int, string> m2 = js2["path"]; 
for(auto p : m2) 
{ 
	cout << p.first << " " << p.second << endl; 
}
cout << endl;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值