XML和JSON --利与弊?

kse8i1jr  于 2023-03-20  发布在  其他
关注(0)|答案(9)|浏览(112)

我最近听说了JavaScript对象表示法(JSON),在查找了它之后,它似乎作为可扩展标记语言(XML)的替代品而变得相当流行。
我在this页面上查看了更多信息,但它看起来更像是一个抨击XML的页面,而不是一个比较页面。
与XML相比,JSON有什么好处?为什么(如果有的话)我们应该选择其中一种而不是另一种?

vcudknz3

vcudknz31#

  • JSON更紧凑,可以很容易地加载到JavaScript中。
  • XML更为严格,支持模式和名称空间。

从表面上看,JSON似乎在各个方面都很上级--它灵活、更紧凑,在许多情况下更容易使用(尤其是在使用JavaScript时),但它缺乏一些关键特性,特别是:

*架构支持

即甲方指定文档格式的能力,以及乙方检查其提供的内容是否符合该格式的能力。
在不同系统之间传递数据时,这一点至关重要,因为与预期格式的偏差可能意味着无法处理数据(更糟糕的是,数据处理不正确)。

*命名空间支持

即,在同一文档中混合打算由多个源读取(或由多个源写入)的数据的能力。
SOAP协议就是这样的一个例子--命名空间允许SOAP“信封”或“ Package 器”数据的分离,这些数据与序列化的应用程序数据一起传递。这允许Web框架处理SOAP信封,然后将主体/有效载荷数据传递到应用程序上。
JSON在开发需要快速、紧凑和方便的数据序列化的Web应用程序时非常有用,然而,它的灵活性使它不像XML那样适合在不同的系统之间传输数据,或存储将由第三方读取的数据。
也许这些特性迟早会出现在JSON中,但目前XML是Web服务和文件格式等内容的主要格式。

kd3sttzy

kd3sttzy2#

JSON的优点

  • 较小的邮件大小
  • 文档中的更多结构信息
  • 可以很容易地区分数字1和字符串"1",因为数字、字符串(和布尔值)在JSON中的表示方式不同。
  • 可以轻松区分单个项目和大小为1的集合(使用JSON数组)。
  • 更易于表示空值
  • 易于JavaScript使用
    XML的优点
  • 命名空间允许共享标准结构
  • 更好的继承表示
  • 表示文档结构的标准方式:XML模式、DTD等
  • 解析标准:DOM、SAX、StAX
  • 查询标准:XQuery和XPath
  • 转换文档的标准:可扩展图形语言
    抽签
  • 人类可读
  • 易于解析
vsnjm48y

vsnjm48y3#

可扩展标记语言

  • 可以具有声明其格式的架构。
  • 质量控制人员对此很感兴趣,您可以证明它的格式符合预期,因此您可能不必像以前那样,在每次要引用字段时都检查字段是否存在。
  • (尽管这预先假定您实际上是根据XML的模式来验证XML的。)
  • 臃肿;每个字段名称必须写出两次每个字段。恶!
    JSON格式
  • 不那么臃肿,更容易解析,而且可以说更具可读性(如果你把它适当地隔开)。
  • 没有那么强大:没有足够的表现力来区分属性和值。
jjhzyzn0

jjhzyzn04#

XML的优点

1.在各种语言和框架中几乎无处不在的支持。很可能已经有一种工具可以帮助您从XML响应中提取信息。
1.如果你愿意,它可以遵循一个具体的模式,一旦它验证了,你就可以说它是正确的,然后开始解析。
1.名称空间允许您划分XML。

JSON的优点

1.与XML相比是轻量级的。更少的字符=通过internet tubes的时间更短。
1.如果您需要Web应用程序的一些东西,使用Javascript更容易处理。

nwo49xxi

nwo49xxi5#

JSON -更小,可以作为JavaScript对象本地加载(速度是一个值)
XML -仍然是标准的,但是更旧(更慢,更大,但不仅仅是JS)

oyxsuwqo

oyxsuwqo6#

JSON是一种比XML简单得多的格式。JSON仅用于将数据描述为对象层次结构,而XML还有许多其他特性。
如果您只需要发送简单的数据,那么JSON是一个很好的选择,因为这正是它的目的。
如果您需要一种更强大的方式来描述数据,那么您将需要XML,因为JSON并没有做任何花哨的事情。

vlf7wbxs

vlf7wbxs7#

它们都是同样的表达格式。JSON没有那么冗长。JSON可以很容易地在JavaScript(和其他语言)中解析,XML也可以很容易地被许多东西解析。
我认为最重要的考虑是什么会消耗数据--如果你已经有一堆XML解释代码,坚持使用它;如果你所有的客户都是Web开发人员,使用JSON。

ifsvaxew

ifsvaxew8#

更简洁- XML使用了不必要的单词
JSON更快--解析XML软件又慢又麻烦。由于解析大型XML文件的冗长和成本,许多DOM操作库可能会导致应用程序使用大量内存。
JSON数据模型的结构与数据匹配:JSON的数据结构是一个Map,而XML是一棵树,虽然Map(只是键/值对)可能会有限制,但这正是我们想要的,因为它更容易解释,而且是可预测的。
在代码中:项目在代码中的表示方式是相同的。在许多语言中,尤其是动态语言中,您只需“在JSON中发出声音”,就可以立即得到您的域对象。从JSON中的对象到代码中的对象很容易,因为它们是对齐的。从XML中的对象到代码中的对象时,它们并不对齐,因此有很大的解释空间。
JSON有局限性,但这是一件好事:JSON在对象建模方面是有限的。有些人可能认为XML更好,因为可以建模更多的对象,而且它不禁止开发人员。但是即使JSON禁止开发人员,它也是一种积极的方式,使代码更简单、更可预测、更易于阅读。XML可以格式化为公司想要的任何外观和功能,但它使开发人员难以阅读、理解在大多数情况下,人们认为XML更好,因为开发人员可以在阳光下做任何事情,但在简化的时代,少即是多,使JSON成为更好的选择。

vlurs2pr

vlurs2pr9#

是否弃权?

  • JSON(JavaScript对象表示法)
  • 可扩展标记语言

用法?

  • 两者都是为了数据交换。

最适合?

  • JSON作为Web应用程序的存储介质时,因为它的简单性.
  • 在Web上传输结构化数据时使用XML。

为什么/何时使用XML?

  • 比HTML更灵活。(应用程序这使得它更容易格式化数据和显示它正确地在任何浏览器或设备)
  • 创建可在任何XML数据中使用的自定义标记。(这使得开发人员和设计人员在创建新项目时能够协作)
  • 它可用于在程序和文档之间共享结构化信息。

为什么/何时使用JSON?

  • 它是独立于语言的(JSON独立于语言的特性使它非常适合用于其他Web开发语言,如Ruby和Javascript)
  • JSON也是人类可读的。
  • 多亏了JSON解析器包,您可以读写这种格式,而无需知道每个字段中的内容。

"只要记住这些规则"
A-字段必须具有一致的名称。
B-所有值必须是字符串。
C-逗号字符必须分隔值。

  • JSON在处理信息时比XML软件使用更少的内存(非常适合大型数据处理)。
  • JSON作为Web应用程序的存储介质,由于其简单性而越来越受欢迎。
  • 用于许多不同的环境,从Web开发到数据存储(也是Web API和应用程序之间共享信息的理想格式)。
  • 它非常适合在多个应用程序之间共享数据。

XML的缺点?

  • XML代码是表示结构化数据的一种更冗长的方式。
  • XML可由人读取,但不一定由机器读取。
  • XML在跨平台兼容性方面存在一些问题。
  • XML文件比JSON文件需要更多的存储空间。
  • XML具有比JSON更严格的结构,这使得在不破坏文档的情况下操作XML变得更加困难。

JSON的缺点?

  • XML比JSON更安全(NIST进行的研究)。
  • 大多数企业使用XML环境而不是JSON。

为什么JSON〉XML在总体上是最差的:

  • XML比JSON更难解析,JSON被解析成一个现成的JavaScript对象。
    与XML类似:
  • 首先获取一个XML文档。
  • 使用XML DOM循环遍历文档。
  • 提取值并存储在变量中。
    使用JSON时:
  • 获取JSON字符串。
    *JSON。解析JSON字符串。

希望这个详细的解释能有所帮助。

相关问题