JSON 与 Xml的对决

Json 和 Xml 的目的是相似的 , 他们都是将方便理解和易读的方式将复杂数据组织到各种接口和语言中 , 这种类型的技术当然是不能缺少的 , 我们通过他们构建数据也能很好的去共享他们 , 但是尽管他们的目标类似 , 但是运作方式却是不同的 。
在本文中 , 我们将对 JSON 和 Xml 进行比较 , 充分了解他们的优缺点 , 然后深入地研究它们有什么区别和共同点 。
XMLXML是可扩展标记语言 , 在电子计算机中 , 标记指计算机所能理解的信息符号 , 通过此种标记 , 计算机之间可以处理包含各种的信息比如文章等 。。此外 , XML 是支持扩展的 , 开发人员可以自由的创建自描述的标签和语言 , 这种语言不一定是数据 , 它允许开发人员存储和组织数据 , 最终以数据的方式呈现 , 简单的说 , XML就是一种为存储数据而创建的标记行语言 。
XML 起源于 SGML(标准通用标记语言) , 但是它的方式却更加灵活和直接 。它以将不同的系统转换为通用系统来促进数据交换为宗旨 , 为此 , XML实施了一组关于语义和自定义标记语言的规范:它为任何应用程序建立了标准和清晰的结构 , 确保数据完整性和互换性 。
尽管如此 , XML却不是一种编程语言 , 因为它本身并不执行算法或计算 , 也就是说 , 它并没有自己的一套语法规则和词汇来生成计算机的程序 , XML 被开发用于识别、存储和组织数据 。此外 , 由于它可以采用 html 功能 , 因此它在各种系统中都具有优势 。
JSONJSON 代表 JAVAScript Object Notation , 这也就是说它是 JavaScript 中的主要数据格式 。JavaScript 的日益流行也因此导致了更多 JSON 消息的创建 。JSON 已经实现了与Javascript的完美集成和配对 。另外 , 尽管是用 JavaScript 编写的 , 但 JSON 是独立于语言的(就像 XML) , 这意味着您可以将它与任何编程语言一起使用 。
JSON 的第一条消息是在 2001 年发送的 , 从那时起 , 这种用于存储和传输数据的数据格式得到了越来越多的采用 。实际上 , 与 XML 类似 , JSON 也从 Web 服务器接收数据并将其传输到网页 。然而 , 它需要的编码更少 , 尺寸更小 , 从而有助于更快地处理和数据传输 。
JSON 与 XML:差异尽管解决了非常相似的目的 , 但 JSON 和 XML 之间还是存在一些关键差异 。区分两者有助于决定何时选择其中之一 , 并根据特定需求和目标了解哪个是最佳选择 。
首先 , 如前所述 , XML 是一种标记语言 , 而另一方面 , JSON 是一种数据格式 。使用 JSON 的最大优势之一是文件更小;因此 , 传输数据比 XML 快 。此外 , 由于 JSON 紧凑且易于阅读 , 文件看起来更干净、更有条理 , 没有空标签和数据 。其结构的简单性和最少的语法使 JSON 更容易被人类使用和阅读 。相反 , 由于标签结构使文件更大更难阅读 , XML 通常以其复杂性和老式标准为特征 。
然而 , JSON 与 XML 并不完全是一个公平的比较 。JSON 通常被错误地认为是 XML 的替代品 , 但虽然 JSON 是进行简单数据传输的绝佳选择 , 但它不执行任何处理或计算 。XML 可能是“古老的”和复杂的 , 但它的复杂性使这种语言不仅可以传输数据 , 还可以处理和格式化对象和文档 。
与 JSON 不同 , XML 中的文档通常是自描述的 。通常 , XML 文档在标题上有一个指向其模式的链接(模式也用 XML 编写并在 W3C 的 XML 规范中定义) 。因为文档的模式描述了文档上可以或不可以包含的内容 , 所以它有两个优点:

  1. 在编写 XML 文档时 , 作者知道需要哪些字段 。例如 , 假设作者正在编写一个 XML 记录名称 car , 由架构 car.xsd 定义 。然后 , 他/她已经知道需要有哪些标签(型号、许可证、品牌等) 。
  2. 可以根据模式验证文档 。换句话说 , 加载文档的应用程序可以检查它是否正确 , 而不会丢失标签或其他错误 。
还支持 JSON 模式 , 这意味着您可以使用相关数据格式执行与 XML 相同的操作 。但是 , 它并没有内置到技术中 。因此 , 需要扩展以支持 JSON 模式 。


推荐阅读