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

在日常生活中,人与人之间的交流需要彼此都听得懂得语言。同理,在计算机的不同程序之间,或者不同的编程语言之间进行交换数据,也需要一种大家都能听得懂得‘语言’,这就是数据交换格式,它通过文本以特定的形式来进行描述数据。

对于一段数据“JSON-JavaScript Object Notation、XML-eXtensible Markup Language、YAML-Yet Another Markup Language”,我们通常有以下三种描述方法:

一、JSON(JavaScript Object Notation)

{
  "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"
      }
    ]
  }
}
JSON是一种轻量级的文本数据交换格式,在语法上与创建JavaScript对象的代码相同,由key|value(键|值)构成。

JSON的格式:

a:数据在名称|值对中

b.数据由逗号分隔

c.大括号保存对象

d.中括号保存数组

JSON的优点:

a.具有自我描述性,易于阅读编写,也易于机器解析与生成

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

c.非常适用于服务器与JavaScript交互

使用JSON:

a.读取JSON字符串

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

二、XML(eXtensible Markup Language)

<?xml version="1.0" encoding="UTF-8" ?>
<dates>
    <date>
        <id>1</id>
        <name>JSON</name>
        <abb>JavaScript Object Notation</abb>
    </date>
    <date>
        <id>2</id>
        <name>XML</name>
        <abb>eXtensible Markup Language</abb>
    </date>
    <date>
        <id>3</id>
        <name>YAML</name>
        <abb>Yet Another Markup Language</abb>
    </date>
</dates>

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

XML的格式:

a.声明:定义XML文件版本以及字符集

b.根标签:树形结构的根节点

c.子元素:相对上一级而言,可以自定义,必须有结束标签,对大小写敏感

d.属性:一个元素可以拥有多个名字不同的属性

使用XML:

a.读取XML文档

b.使用XML DOM循环遍历文档

c.读取值并存储与变量

三、YAML(Yet Another Markup Language)

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是一种直观的能够被电脑识别的的数据序列化格式

YAML的格式:

a.结构用缩进表示

b.连续项目用‘-’表示

c.key|value用‘:’分隔

YAML的适用范围:

a.由于实现简单,解析成本低,特别适合在脚本语言中使用

b.YAML比较适合做序列化。因为它是宿主语言数据类型直转的。

c.YAML做配置文件也不错。比如Ruby on Rails的配置就选用的YAML。

YAML的问题:

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

还有一种表达方式是CSV(逗号分隔符),使用表格和分隔符来表示数据的格式,本文就不在多加叙述,有兴趣的读者可以自己去了解一下。本文列出的三者相较而言,JSON与XML使用的更加广泛一点。并且JSON和XML从实现方法比较而言,不难看出,JSON比XML更快更易使用,个人更加推崇JSON一点。当然,具体情况还得具体分析,合理的使用这些数据交换格式,我们才能够写出更加优秀、强大的代码!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值