网络数据传输的格式

博客引用:https://blog.csdn.net/weixin_42931825/article/details/82455349

1. json (javaScript Object Notation)

json的数据表现形式:

{
    "sites": [
    { "name":"菜鸟教程" , "url":"www.runoob.com" }, 
    { "name":"google" , "url":"www.google.com" }, 
    { "name":"微博" , "url":"www.weibo.com" }
    ]
}

 json 指的是对javascript 对象表示法 ,是一种轻量级的文本数据交换格式。在语法上与创建JavaScript对象的语法相同,由key|value (键|值)构成。

json的优点:

1.具有自我描述性,易于阅读编写,也易于机器编写和解析。

2.使用javascript语法来描述数据对象,但json仍然独立语法和平台。json解析器和json解析库支持许多不同的编程语言,目前非常多的动态(PHP,JSP,.NET)编程语言都支持json.

3.非常适用于服务器与javascript交互。

2.XML(eXtensible Markup Language)

XML数据表现形式:

<?xml version="1.0" encoding="UTF-8"?>
<dates>
   <date>
      <id>1</id>
      <name>XML</name>
      <abb>eXtensible Markup Language</abb>
   </date>
   <date>
      <id>2</id>
      <name>XML</name>
      <abb>eXtensible Markup Language</abb>
   </date>
</dates>

XML是可扩展标记语言,标准通用标记语言的子集,是一种用于标记电子文件使其具有结构性的标记语言。

使用XML:

1.读取XML文档。

2.使用XML DOM循环遍历文档。

3.读取值并存储变量。

3.YAML(Yet Another Markup Language)

YAML是一种能够直观的被电脑识别的数据序列化格式。

YAML数据表现形式:

dates:
   date:
   -
     id:1
     name:JSON
     abb:javaScript Object Notation
   -
     id:2
     name:XML
     abb:eXtensible Markup Language
   -
     id:3
     name:YAML
     abb:Yet Another Markup Language

YAML的适用范围:
1.由于实现简单,解析成本低,特别适合在脚本语言中使用
2.YAML比较适合做序列化。因为它是宿主语言数据类型直转的。
3.YAML做配置文件也不错。比如Ruby on Rails的配置就选用的YAML。

4.Protobuf协议(Protocol Buffer)

protoBuf 和JSON,XML一样,是一个规定好的数据传播格式。

protoBuf数据的表现形式:

message User{
       required int id =1;
       required String name='protoBuf';
       required String password='123456';
}

使用protoBuf:

1.protoBuf是google开发的一种数据传输格式,类似JSON;

2.protoBuf是二进制,结构化的,所以比JSON的数据量更小,也更对象化;

3.protoBuf不是像JSON直接明文的,这个是定义对象结构,然后由protoBuf库自动转换成二进制,,用的时候再自动反解过来。(也就是序列化和反序列化的过程)传输对我们是透明的,我们只需传输对象。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值