JSON 与 XML – 两者区别

JSON 与 XML 的主要区别

  • JSON 对象有类型,而 XML 数据是无类型的。
  • JSON 不提供命名空间支持,而 XML 提供命名空间支持。
  • JSON 没有显示能力,而 XML 提供了显示数据的能力。
  • JSON 安全性较低,而 XML 比 JSON 更安全。
  • JSON 只支持 UTF-8 编码,而 XML 支持多种编码格式。

什么是JSON?

JSON 是一种文件格式,它使用人类可读的文本来存储和传输包含属性-值对和数组的数据对象。JSON 用于以一种有组织且易于访问的方式存储信息。JSON 代表 JavaScript 对象表示法。它提供了一种可逻辑访问的、人类可读的数据集合。

什么是 XML?

XML 是一种可扩展标记语言,设计用于存储数据。它广泛用于数据传输。它是区分大小写的。XML 允许您定义标记元素并生成自定义标记语言。元素是 XML 语言的基本单元。XML 文件的扩展名是 .xml。

JSON 历史

以下是构成 JSON 历史的重要里程碑

  • Douglas Crockford 在 2000 年代初指定了 JSON 格式。
  • 官方网站于 2002 年上线。
  • 2005 年 12 月,Yahoo! 开始以 JSON 格式提供其部分 Web 服务。
  • JSON 于 2013 年成为 ECMA 国际标准。
  • 最新的 JSON 格式标准于 2017 年发布。

XML 历史

以下是 XML 历史的重要里程碑

  • XML 也源自 SGML。
  • XML 1.0 版本于 1998 年 2 月发布。
  • 2001 年 1 月:IETF 标准提案:XML 媒体类型
  • XML 是可扩展标记语言。
  • 1970 年:Charles Goldfarb、Ed Mosher 和 Ray Lorie 发明了 GML
  • XML 的开发始于 1996 年的 Sun Microsystem

JSON 的特点

  • 易于使用 – JSON API 提供高级外观,有助于简化常用用例。
  • 性能 – JSON 非常快,因为它占用的内存空间非常少,特别适合大型对象图或系统。
  • 免费工具 – JSON 库是开源且免费使用的。
  • 无需创建映射 – Jackson API 为许多要序列化的对象提供了默认映射。
  • 干净的 JSON – 创建干净、兼容且易于阅读的 JSON 结果。
  • 依赖性 – JSON 库处理不需要任何其他库。

XML 的特点

  • XML 标签不是预定义的。您需要定义自己的自定义标签。
  • XML 被设计用来承载数据,但不允许您显示这些数据。
  • XML 的标记代码对人类来说很容易理解。
  • 好吧,结构化格式易于程序读取和写入。
  • XML 是一种可扩展的标记语言,与 HTML 类似。

JSON 与 XML 的区别

Difference Between JSON and XML
JSON 与 XML 的区别

这是 JSON 与 XML 的主要区别

JSON XML
JSON 对象具有类型 XML 数据是无类型的
JSON 类型:字符串、数字、数组、布尔值 所有 XML 数据都应该是字符串
数据作为 JSON 对象即可轻松访问 XML 数据需要解析。
大多数浏览器都支持 JSON。 跨浏览器 XML 解析可能很棘手
JSON 没有显示能力。 XML 作为一种标记语言,提供了显示数据的能力。
JSON 只支持文本和数字数据类型。 XML 支持多种数据类型,如数字、文本、图像、图表、图形等。它还提供了传输数据结构或格式以及实际数据的选项。
检索值很容易 检索值很困难
受许多 Ajax 工具包支持 未被 Ajax 工具包完全支持
反序列化/序列化JavaScript 的完全自动化方法。 开发人员必须编写 JavaScript 代码才能从 XML 进行序列化/反序列化
对对象的原生支持。 对象必须通过约定来表达 – 属性和元素的使用经常被忽略。
它只支持 UTF-8 编码。 它支持各种编码。
它不支持注释。 它支持注释。
与 XML 相比,JSON 文件更容易阅读。 XML 文档相对更难阅读和解释。
它不提供任何命名空间支持。 它支持命名空间。
它的安全性较低。 它比 JSON 更安全。

JSON 代码 vs XML 代码

让我们看一个 JSON 代码示例

{
  "student": [ 
	
     { 
        "id":"01", 
        "name": "Tom", 
        "lastname": "Price" 
     }, 
	
     { 
        "id":"02", 
        "name": "Nick", 
        "lastname": "Thameson" 
     } 
  ]   
}


让我们用 XML 研究相同的代码

<?xml version="1.0" encoding="UTF-8" ?>
<root>
	<student>
		<id>01</id>
		<name>Tom</name>
		<lastname>Price</lastname>
	</student>
	<student>
		<id>02</id>
		<name>Nick</name>
		<lastname>Thameson</lastname>
	</student>
</root>

使用 JSON 的优点

以下是使用 JSON 的重要好处/优点

  • 支持所有浏览器
  • 易于阅读和编写
  • 语法简洁
  • 您可以使用 eval() 函数在 JavaScript 中本地解析
  • 易于创建和操作
  • 受所有主要 JavaScript 框架支持
  • 受大多数后端技术支持
  • JSON 被 JavaScript 本地识别
  • 它允许您通过网络连接传输和序列化结构化数据。
  • 您可以将其与现代编程语言一起使用。
  • JSON 是文本,可以将其转换为任何 JavaScript 对象,然后发送到服务器。

使用 XML 的优点

以下是使用 XML 的重要好处/缺点

  • 使文档能够跨系统和应用程序传输。借助 XML,您可以快速地在不同平台之间交换数据。
  • XML 将数据与 HTML 分离
  • XML 简化了平台更改过程
  • 允许创建用户定义的标签。

使用 JSON 的缺点

以下是使用 JSON 的缺点/不足之处

  • 无命名空间支持,因此扩展性差
  • 有限的开发工具支持
  • 它提供对正式语法定义的y支持

使用 XML 的缺点

以下是使用 XML 的缺点/不足之处

  • XML 需要处理应用程序
  • XML 语法与其他替代的“基于文本”的数据传输格式非常相似,有时会造成混淆
  • 无内在数据类型支持
  • XML 语法冗余

现在,您可以轻松确定 XML 或 JSON 哪个更适合您。