JSON vs XML

17 Mar 2025 | 4 分钟阅读

在了解 JSON 和 XML 之间的差异之前,我们应该了解 json 和 xml 的定义。

什么是 JSON?

JSON 代表 JavaScript 对象表示法。 JSON 源自 javascript,其中 javascript 是一种编程语言。 它最初是为了保存可以在 javascript 中使用的结构化数据而创建的。 JSON 变得非常流行,以至于它被用于各种应用程序的数据。 它是用于 Web API 发送数据的最流行方式。

json 支持的基本数据类型有

  • 字符串:用单引号或双引号括起来的字符。
  • 数字:数字可以是整数或小数,正数或负数。
  • 布尔值:布尔值可以是 true 或 false,不带任何引号。
  • Null:这里,null 表示没有任何引号。

除了基本数据类型外,json 还有数组和对象。

数组

数组是由方括号表示的列表,值之间用逗号分隔。 它们可以包含混合数据类型,即单个数组可以包含字符串、布尔值、数字。

例如

示例 1 [1, 2, 7.8, 5, 9, 10];

示例 2: ["red", "yellow", "green"];

示例 3: [8, "hello", null, true];

在上面,示例 1 是一个数字数组,示例 2 是一个字符串数组,示例 3 是一个混合数据类型数组。

对象

对象是用花括号括起来的 JSON 字典。 在对象中,键和值用冒号“:”分隔,对用逗号分隔。 键和值可以是任何类型,但键最常见的类型是字符串。

例如:{"red" : 1, "yellow" : 2, "green" : 3};

嵌套

嵌套涉及将数组和对象相互嵌套。 我们可以将数组放入对象中,将对象放入数组中,将数组放入数组中等等。 我们可以说 json 文件是一个包含大量对象和数组的大对象。

示例

在上面的代码中,歌曲以花括号开头。 因此,歌曲是一个对象。 它包含三个键值对,其中 title、artist 和 musicians 是键。

什么是 XML?

XML 代表可扩展标记语言。 它类似于 HTML,其中 HTML 代表超文本标记语言。 HTML 用于创建网站,而 XML 可用于任何类型的结构化数据。

XML 有两种处理数据的方式,即标签和属性。 标签的工作方式与 HTML 相同。 开始标签以 <_> 开头,以 </_> 结尾。 开始和结束标签必须匹配。 名称只能是字母、数字和下划线,并且标签名称必须仅以字母开头。

例如

<title> Hello World </title>

嵌套标签

当我们把标签放在另一个标签里面时,就创建了嵌套数据。

例如

正如我们在上面的代码中观察到的,在 color 标签内,我们还有三个标签,即 red、yellow 和 green。

json 和 XML 之间的相似之处。

  • 自描述: json 和 xml 都是自描述的,因为 xml 数据和 json 数据都是人类可读的文本。
  • 分层: json 和 xml 都支持分层结构。 这里的层次结构意味着值中的值。
  • 数据交换格式: 许多不同的编程语言都可以使用 JSON 和 XML 作为数据交换格式。
  • 解析: 两种格式都可以轻松解析。
  • 检索: 两种格式都可以通过 HTTP 请求检索。 用于检索数据的方法有 GET、PUT、POST。

json 和 XML 之间的差异。

JSON vs XML

以下是 json 和 xml 之间的差异

JSONXML
JSON 代表 javascript 对象表示法。XML 代表可扩展标记语言。
json 文件的扩展名是 .json。xml 文件的扩展名是 .xml。
互联网媒体类型是 application/json。互联网媒体类型是 application/xml 或 text/xml。
JSON 中的格式类型是数据交换。XML 中的格式类型是标记语言。
它扩展自 javascript。它扩展自 SGML。
它是开源的,意味着我们无需支付任何费用即可使用 JSON。它也是开源的。
在 JSON 中创建的对象具有某种类型。XML 数据没有任何类型。
JSON 支持的数据类型有字符串、数字、布尔值、null、数组。XML 数据是字符串格式。
它没有任何显示数据的能力。XML 是一种标记语言,因此它具有显示内容的能力。
JSON 没有标签。XML 数据用标签表示,即开始标签和结束标签。
XML 文件更大。 如果我们想用 XML 表示数据,那么与 JSON 相比,它会创建一个更大的文件。
JSON 更容易读取和写入。XML 文件读取和写入需要时间,因为学习曲线更高。
JSON 可以使用数组来表示数据。XML 不包含数组的概念。
它可以被标准的 javascript 函数解析。 它必须在使用前进行解析。用于交换数据的 XML 数据必须根据其编程语言进行解析才能使用。
它可以很容易地被解析,并且只需要少量代码来解析数据。很难解析。
与 XML 相比,文件大小更小。文件大小更大。
JSON 是面向数据的。XML 是面向文档的。
它比 XML 的安全性低。它比 JSON 更安全。

下一主题JSON 示例