Json和XML、protobuf

本文深入对比JSON与XML两种数据交换格式的特点与应用。从可读性、编码难度、解码难度、数据体积、数据交互、数据描述及传输速度等方面详细分析两者的优劣,指出JSON在多数场景下更胜一筹。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Json:是一种数据交换格式,他源于JavaScript。它的格式很简单,对象是一个无序的'键/值'对集合,一个对象由{开始,}结束,每个键后面跟一个冒号;‘键/值'对之间用逗号分隔,并列数据的集合用中括号[]表示。

交换原理:
1.客户端将数据打包成Json对象
2.转成Json字符串之后发送给服务器端
3.服务器端收到Json字符串后需转化成Json对象
4.读取Json对象中数据内容
优点:
1.格式简单,易于读写,格式是压缩的,占用带宽小。
2.易于解析,简化了客户端和服务器端代码的开发量,容易维护

XML是可扩展性标记语言,是一种允许用户对自己的标记语言进行定义的语言。
XML底层原理:XML解析方法有两种,一种是DOM,采用的是树形结构方式访问XML文档,将文档转化为一个包含其内容的树,称为节点树,并可以对树进行遍历,使用DOM解析的时候需要处理整个XML文档,所以对内存和性能的要求比较高。
第二种是SAX解析,解析文档时可以触发一系列的事件,当发现给定的标签时,他可以激活一个回调方法, 告诉该方法指定的标签已经找到,对内存的要求比较低,因为他让开发人员自己来决定所要处理的标签
1.可读性方面:两者差不多
2.可扩展性方面:都具有良好扩展性
3.编码难度方面:Json更容易
4.解码难度:Json更容易
5.数据体积方面:Json更小
6.数据交互方面:Json更方便
7.数据描述方面:XML更好
8.传输速度方面:Json远远快于XML

 

Protobuf:将数据序列化成二进制来传输,所以比json,XML的占用体积和转化速度更快

 

定义一个proto文件,将所需数据成员定义在里面,用protobuf编译器编译成目标语言,得到.h和.cpp文件,将文件和其他目标文件一起编译。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值