常用数据交互格式

在平时工作中,我们经常会遇到数据交互,然而很少去研究它,今天就来总结一下。人与人之间的交流需要彼此都听得懂得语言。同理,在计算机的不同程序之间,或者不同的编程语言之间进行交换数据,也需要一种大家都能听得懂得‘语言’,这就是数据交换格式,经常接触的就是json,除了json还有xml、yaml等等。

一、JSON(JavaScript Object Notation)


   
   
  1. {
  2. “dates”: {
  3. “date”: [
  4. {
  5. “id”: “1”,
  6. “name”: “JSON”,
  7. “ccc”: “JavaScript Object Notation”
  8. },
  9. {
  10. “id”: “2”,
  11. “name”: “XML”,
  12. “ccc”: “eXtensible Markup Language”
  13. },
  14. {
  15. “id”: “3”,
  16. “name”: “YAML”,
  17. “ccc”: “Yet Another Markup Language”
  18. }
  19. ]
  20. }
  21. }

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

JSON的格式:

  1. 数据在名称|值对中
  2. 数据由逗号分隔
  3. 大括号保存对象
  4. 中括号保存数组

JSON的优点:

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

使用JSON:

  1. 读取JSON字符串
  2. b.用eval()或者parse()处理字符串

二、XML(eXtensible Markup Language)


   
   
  1. <?xml version= "1.0" encoding= "UTF-8" ?>
  2. <dates>
  3. <date>
  4. <id>1 </id>
  5. <name>JSON </name>
  6. <ccc>JavaScript Object Notation </ccc>
  7. </date>
  8. <date>
  9. <id>2 </id>
  10. <name>XML </name>
  11. <ccc>eXtensible Markup Language </ccc>
  12. </date>
  13. <date>
  14. <id>3 </id>
  15. <name>YAML </name>
  16. <ccc>Yet Another Markup Language </ccc>
  17. </date>
  18. </dates>

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

XML的格式:

  1. 声明:定义XML文件版本以及字符集
  2. 根标签:树形结构的根节点
  3. 子元素:相对上一级而言,可以自定义,必须有结束标签,对大小写敏感
  4. 属性:一个元素可以拥有多个名字不同的属性

使用XML:

  1. 读取XML文档
  2. 使用XML DOM循环遍历文档
  3. 读取值并存储与变量

三、YAML(Yet Another Markup Language)

扫描二维码关注公众号,回复: 3301519 查看本文章

   
   
  1. dates:
  2. date:
  3. -
  4. id: 1
  5. name: JSON
  6. ccc: "JavaScript Object Notation"
  7. -
  8. id: 2
  9. name: XML
  10. ccc: "eXtensible Markup Language"
  11. -
  12. id: 3
  13. name: YAML
  14. ccc: "Yet Another Markup Language"

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

YAML的格式:

  1. 结构用缩进表示
  2. 连续项目用‘-’表示
  3. key|value用‘:’分隔

YAML的适用范围:

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

YAML的问题:

由于兼容性问题,不同语言间的数据流转,建议不要用YAML

还有一种表达方式是CSV(逗号分隔符),使用表格和分隔符来表示数据的格式,本文就不在多加叙述,有兴趣的读者可以自己去了解一下。本文列出的三者相较而言,JSON与XML使用的更加广泛一点。并且JSON和XML从实现方法比较而言,不难看出,JSON比XML更快更易使用。

 
   
   


 

猜你喜欢

转载自blog.csdn.net/HIVAN1/article/details/82699712