JSON 与 XML – 它们之间的区别
JSON 和 XML 之间的主要区别
- JSON 对象有类型,而 XML 数据无类型。
- JSON 不提供命名空间支持,而 XML 提供命名空间支持。
- JSON 没有显示功能,而 XML 提供了显示数据的功能。
- JSON 的安全性较低,而与 JSON 相比,XML 更安全。
- JSON 仅支持 UTF-8 编码,而 XML 支持各种编码格式。
什么是 JSON?
JSON 是一种使用人类可读文本来存储和传输包含属性值对和数组的数据对象的文件格式。JSON 用于以有组织且易于访问的方式存储信息。JSON 代表 Java脚本对象符号。它提供了一组可以逻辑访问的、人类可读的数据。
什么是 XML?
XML 是一种可扩展标记语言,用于存储数据。它通常用于传输数据。它区分大小写。XML 允许您定义标记元素并生成自定义标记语言。元素是 XML 语言中的基本单元。XML 文件的扩展名为 .xml。
JSON 的历史
以下是构成 JSON 历史的重要里程碑:
- Douglas Crockford 在 2000 世纪初指定了 JSON 格式。
- 官方网站于2002年上线。
- 2005 年 XNUMX 月,雅虎开始以 JSON 格式提供部分网络服务。
- JSON 于 2013 年成为 ECMA 国际标准。
- 最新的 JSON 格式标准于 2017 年发布。
XML 的历史
以下是 XML 历史上的重要里程碑:
- XML 也是从 SGML 衍生而来的。
- XML 1.0 版于 1998 年 XNUMX 月发布。
- 2001 年 XNUMX 月: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. | 开发人员必须编写 Java从 XML 序列化/反序列化的脚本代码 |
对对象的本机支持。 | 对象必须通过约定来表达——大多忽略了属性和元素的使用。 |
它仅支持 UTF-8 编码。 | 它支持各种编码。 |
它不支持评论。 | 支持评论。 |
与 XML 相比,JSON 文件易于阅读。 | XML 文档相对来说更难阅读和解释。 |
它不提供任何对命名空间的支持。 | 它支持命名空间。 |
其安全性较差。 | 它比 JSON 更安全。 |
JSON 代码与 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 的重要好处/优点:
- 提供对所有浏览器的支持
- 易于阅读和书写
- 语法简单
- 您可以本地解析 Java使用 eval() 函数的脚本
- 易于创建和操作
- 得到所有主要 Java脚本框架
- 大多数后端技术均支持
- JSON 可以被原生识别 Java脚本
- 它允许您使用网络连接传输和序列化结构化数据。
- 您可以将它与现代编程语言一起使用。
- JSON 是可以转换为任何对象的文本 Java将脚本转换为 JSON 并将该 JSON 发送到服务器。
使用 XML 的优点
以下是使用 XML 的显著优点/缺点:
- 使文档可跨系统和应用程序传输。 借助 XML,您可以在不同平台之间快速交换数据。
- XML 将数据从 HTML 中分离出来
- XML 简化平台变更过程
- 允许创建用户定义的标签。
使用 JSON 的缺点
以下是使用 JSON 的缺点/缺点:
- 不支持命名空间,因此可扩展性差
- 有限 开发工具 支持
- 它为正式的语法定义提供支持
使用 XML 的缺点
以下是使用 XML 的缺点/不利之处:
- XML 需要处理应用程序
- XML 语法与其他“基于文本”的数据传输格式非常相似,有时会令人困惑
- 没有内部数据类型支持
- XML 语法是多余的
现在,您可以轻松确定 XML 和 JSON 哪个更适合您。