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 的区别
这是 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 哪个更适合您。