当前较为流行的数据交换格式

数据交换格式就像两个人在聊天, 采用彼此都能听得懂的语言其中的语言就相当于数据交换格式,它通过文本以特定的形式来进行描述数据。

1.jpg

目前较为流行的数据交换格式有 XML、JSON、YAML、纯文本格式
纯文本格式——是一种简单的无格式的数据交换格式, 各个部分之间用逗号分隔 数量小的时候可以使用 但随着数据增加 我们可能会搞乱它的顺序,如各个数据部分能有描述信息就好了,而XML和JSON可以带信息描述,他们叫自述式的结构化文档
JSON 格式—— a:数据在名称|值对中
b.数据由逗号分隔
c.大括号保存对象
d.中括号保存数组


json格式.png

优点:1.具有自我描述性,易于阅读编写,也易于机器解析与生成
2.使用 Javascript语法来描述数据对象,但是 JSON 仍然独立于语言和平台。JSON 解析器和 JSON 库支持许多不同的编程语言。 目前非常多的动态(PHP,JSP,.NET)编程语言都支持JSON
3.非常适用于服务器与JavaScript交互
4.轻量级数据交换格式 占带宽小

用eval()或者parse()处理字符串

XML格式————
a.声明:定义XML文件版本以及字符集
b.根标签:树形结构的根节点
c.子元素:相对上一级而言,可以自定义,必须有结束标签,对大小写敏感
d.属性:一个元素可以拥有多个名字不同的属性
e.命名空间
f:限定名

XML格式.PNG

解析XML时,目前有两种流行模式 SAX和DOM
SAX是一种基于事件驱动的解析方式 解析XML 程序从上到下读取XML 解析的速度快
DOM是将XML文档作为一棵树结构解析 如果文档大 解析速度也会变慢
优点:1.格式统一 符合标准
2.容易进行系统间数据共享
缺点:1.文件格式大
2.用带宽大
3.复用性差
YAML是一种直观的能够被电脑识别的数据序列化格式
YAML格式——a.结构用缩进表示
b.连续项目用‘-’表示
c.key|value用‘:’分隔

YAML.PNG

YAML的适用范围:
a.由于实现简单,解析成本低,特别适合在脚本语言中使用
b.YAML比较适合做序列化。因为它是宿主语言数据类型直转的。
c.YAML做配置文件也不错。比如Ruby on Rails的配置就选用的YAML。
YAML的问题:
由于兼容性问题,不同语言间的数据流转,建议不要用YAML

你可能感兴趣的:(当前较为流行的数据交换格式)