网络数据传输的格式

若如初见. 提交于 2020-01-27 02:51:44

博客引用: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库自动转换成二进制,,用的时候再自动反解过来。(也就是序列化和反序列化的过程)传输对我们是透明的,我们只需传输对象。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!