JSON 入门教程 JSON 与 XML 对比

2024-02-25 开发教程 JSON 入门教程 匿名 3

定义和用途

XML:扩展标记语言 (Extensible Markup Language, XML) ,用于标记电子文件使其具有结构性的标记语言,可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。

JSON(JavaScript Object Notation)是一种轻量级的文本数据交换格式,具有良好的可读和便于快速编写的特性,可在不同平台之间进行数据交换。

JSON 和 XML 都是人类可读的格式并且与语言无关。在现实环境中它们都支持创建,读取和解码。

我们可以通过以下的因素来比较 JSON 和 XML:

冗余度

XML 文件庞大,文件格式复杂,传输占带宽;JSON 数据格式比较简单,易于读写,格式都是压缩的,占用带宽小。

XML 比 JSON 冗余,因此对我们来说编写 JSON 会更快。

数组用法

XML 被用来描述结构化数据,不包含数组;而 JSON 包含数组。

虽然XML没有数组,但XML也有表示一组数据的方法!

解析

JavaScript:

JavaScript可以使用JSON.parse()方法解析JSON对象。

这是一个例子:

var obj = JSON.parse('{ "name":"John", "age":30, "city":"New York"}');

其中,'{ “name”:“John”, “age”:30, “city”:“New York”}'是JSON对象。

也可以使用 JavaScript 的 eval 方法解析 JSON。当针对 JSON 应用这个方法时,eval 返回描述的对象。但不推荐使用该方法。

eval()方法会执行任何传递给它的JavaScript代码,这可能会导致安全问题。

XML:

可以使用DOMParser对象解析XML文本并返回一个XML Document对象。

这是一个例子:

var parser = new DOMParser();
var xmlDoc = parser.parseFromString(text,"text/xml");

其中,text是XML文本。

示例

下面分别展示了一个 XML 和 JSON 示例:

JSON:

{
"company":"Volkswagen",
"name": "Vento",
"price": 800000
}

XML:

<car>
<company>Volkswagen</company>
<name>Vento</name>
<price>800000</price>
</car>