JSON 与 Xml的对决( 二 )


使用 XML 的另一个巨大优势是它可以处理注释、元数据和名称空间 。此功能使开发人员可以更轻松地跟踪正在发生的事情并与其他团队成员共享文档 。此外 , XML 支持各种数据类型(例如图像和图表) , 这与 JSON 不同 , 后者仅支持字符串、对象、数字和布尔数组 。
关于安全性 , 在使用 XML 时 , 默认启用 DTD(文档类型定义)验证和外部实体扩展 , 从而使结构能够应对某些攻击 。禁用这些可以使 XML 结构更安全 。另一方面 , 使用 JSON 通常在任何时候都是安全的 , 尽管使用 JSONP(带填充的 JSON)可能会更危险 , 因为它可能导致 CSRF(跨站点请求伪造)攻击 。
数据在 XML 中的存储方式也不同于 JSON 。虽然标记语言以树结构存储数据 , 但相反 , JSON 像映射一样存储数据 , 其中包含键值对 。此外 , JSON 不使用结束标记并且可以使用数组(具有元素组的数据结构) 。
尽管 JSON 和 XML 之间存在许多差异 , 但它们的主要区别在于数据解析 。如前所述 , JSON 可以通过常规 J?avaScript 函数轻松解析 , 因为它已经集成 。XML 不会发生同样的情况 , 它必须使用 XML 解析器进行解析 , 因此更加困难和缓慢 。尽管如此 , 一些语言 , 如 Java , 将 XML 解析器作为其标准库的一部分 。
JSON 与 XML:相似之处尽管 JSON 和 XML 彼此有很大不同 , 但它们经常出于某种原因进行比较 。首先 , 如前所述 , 它们的用途非常相似 , 即存储和传输数据 。其次 , 它们都使用人类可读的文本来完成 , 使其更易于工作和解释 。
此外 , 使用 XML 或 JSON 的一大优势是它们都可以通过 XHR (XMLHttpRequest) 获取 。XHR 是一种可用于 JavaScript、php、Python、Ruby 等脚本语言的 API , 其对象允许从 Web 服务器请求数据 。此外 , XML 和 JSON 都可以解析并与大多数编程语言兼容 。
最后 , 尽管在结构和语义方面存在差异 , 但 JSON 和 XML 都遵循值中值的分层顺序 。
正如我们所观察到的 , 它们的差异比它们的共同点更显着 。因此 , 最终的问题是:如果 JSON 和 XML 具有相似的用途 , 但又如此与众不同 , 那么哪个更好?
JSON 与 XML:哪个更好?说实话 , 这个问题的答案并没有那么简单 。XML 在创建之初就迎来了它的黄金时代 。它为通用语言的数据交换做出了巨大贡献 , 改变了计算世界 。时至今日 , 尽管 XML 通常被认为是“过时的” , 但 XML 具有令人钦佩的特性 , 这些特性超越了快速处理和数据传输 , 因此比 JSON 更复杂 。
因此 , 如前所述 , JSON 与 XML 并不是一个公平的比较 。一件事是根据开发人员的目标来比较这两种技术 , 同时考虑它们的用途 。在这种情况下 , JSON 更快且更易于使用 。但是 , 另一件事是考虑每种技术提供的功能来比较它们 。在这方面 , 尽管 XML 速度更慢且更复杂 , 但它也提供了迄今为止 JSON 尚未开发的附加功能 。
技术从未停止发展 , 随着 JavaScript 成为最流行的编程语言之一 , JSON 也开始越来越受到关注 。此外 , 一旦 JSON 更简单、更易于使用 , 并且具有整体出色的性能和良好的速度 , 开发人员很快就开始使用它 。
总而言之 , 要执行不需要太多验证和语法问题的数据交换 , JSON 很可能是最佳选择 。然而 , JSON 的存在并没有放弃学习 XML 的重要性 , 因为它的复杂性和特性可以超越快速的数据传输和处理 。
结论【JSON 与 Xml的对决】JSON 和 XML 用于操作系统的编程语言 , 允许共享数据 。尽管 XML 较旧 , 但这种标记语言能够定义一组规则和结构 , 使数据交换具有通用性 , 并进一步生成人类和计算机可读的文档 。
另一方面 , JSON 是一种数据格式 , 是一种与 XML 具有相同目的的更现代的方法 。但是 , 由于它生成的文件更轻、速度更快 , 因此它更适合浏览器和服务器之间的数据传输 。相比之下 , XML 以其数据结构方式脱颖而出 。


推荐阅读