博客引用: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库自动转换成二进制,,用的时候再自动反解过来。(也就是序列化和反序列化的过程)传输对我们是透明的,我们只需传输对象。
来源:CSDN
作者:山中油老虎
链接:https://blog.csdn.net/qq_39258590/article/details/103815085