我最近听说了JavaScript对象表示法(JSON),在查找了它之后,它似乎作为可扩展标记语言(XML)的替代品而变得相当流行。我在this页面上查看了更多信息,但它看起来更像是一个抨击XML的页面,而不是一个比较页面。与XML相比,JSON有什么好处?为什么(如果有的话)我们应该选择其中一种而不是另一种?
vcudknz31#
从表面上看,JSON似乎在各个方面都很上级--它灵活、更紧凑,在许多情况下更容易使用(尤其是在使用JavaScript时),但它缺乏一些关键特性,特别是:
*架构支持,
即甲方指定文档格式的能力,以及乙方检查其提供的内容是否符合该格式的能力。在不同系统之间传递数据时,这一点至关重要,因为与预期格式的偏差可能意味着无法处理数据(更糟糕的是,数据处理不正确)。
*命名空间支持,
即,在同一文档中混合打算由多个源读取(或由多个源写入)的数据的能力。SOAP协议就是这样的一个例子--命名空间允许SOAP“信封”或“ Package 器”数据的分离,这些数据与序列化的应用程序数据一起传递。这允许Web框架处理SOAP信封,然后将主体/有效载荷数据传递到应用程序上。JSON在开发需要快速、紧凑和方便的数据序列化的Web应用程序时非常有用,然而,它的灵活性使它不像XML那样适合在不同的系统之间传输数据,或存储将由第三方读取的数据。也许这些特性迟早会出现在JSON中,但目前XML是Web服务和文件格式等内容的主要格式。
kd3sttzy2#
JSON的优点
1
"1"
vsnjm48y3#
可扩展标记语言
jjhzyzn04#
XML的优点
1.在各种语言和框架中几乎无处不在的支持。很可能已经有一种工具可以帮助您从XML响应中提取信息。1.如果你愿意,它可以遵循一个具体的模式,一旦它验证了,你就可以说它是正确的,然后开始解析。1.名称空间允许您划分XML。
1.与XML相比是轻量级的。更少的字符=通过internet tubes的时间更短。1.如果您需要Web应用程序的一些东西,使用Javascript更容易处理。
internet tubes
nwo49xxi5#
JSON -更小,可以作为JavaScript对象本地加载(速度是一个值)XML -仍然是标准的,但是更旧(更慢,更大,但不仅仅是JS)
oyxsuwqo6#
JSON是一种比XML简单得多的格式。JSON仅用于将数据描述为对象层次结构,而XML还有许多其他特性。如果您只需要发送简单的数据,那么JSON是一个很好的选择,因为这正是它的目的。如果您需要一种更强大的方式来描述数据,那么您将需要XML,因为JSON并没有做任何花哨的事情。
vlf7wbxs7#
它们都是同样的表达格式。JSON没有那么冗长。JSON可以很容易地在JavaScript(和其他语言)中解析,XML也可以很容易地被许多东西解析。我认为最重要的考虑是什么会消耗数据--如果你已经有一堆XML解释代码,坚持使用它;如果你所有的客户都是Web开发人员,使用JSON。
ifsvaxew8#
更简洁- XML使用了不必要的单词JSON更快--解析XML软件又慢又麻烦。由于解析大型XML文件的冗长和成本,许多DOM操作库可能会导致应用程序使用大量内存。JSON数据模型的结构与数据匹配:JSON的数据结构是一个Map,而XML是一棵树,虽然Map(只是键/值对)可能会有限制,但这正是我们想要的,因为它更容易解释,而且是可预测的。在代码中:项目在代码中的表示方式是相同的。在许多语言中,尤其是动态语言中,您只需“在JSON中发出声音”,就可以立即得到您的域对象。从JSON中的对象到代码中的对象很容易,因为它们是对齐的。从XML中的对象到代码中的对象时,它们并不对齐,因此有很大的解释空间。JSON有局限性,但这是一件好事:JSON在对象建模方面是有限的。有些人可能认为XML更好,因为可以建模更多的对象,而且它不禁止开发人员。但是即使JSON禁止开发人员,它也是一种积极的方式,使代码更简单、更可预测、更易于阅读。XML可以格式化为公司想要的任何外观和功能,但它使开发人员难以阅读、理解在大多数情况下,人们认为XML更好,因为开发人员可以在阳光下做任何事情,但在简化的时代,少即是多,使JSON成为更好的选择。
vlurs2pr9#
"只要记住这些规则"A-字段必须具有一致的名称。B-所有值必须是字符串。C-逗号字符必须分隔值。
希望这个详细的解释能有所帮助。
9条答案
按热度按时间vcudknz31#
从表面上看,JSON似乎在各个方面都很上级--它灵活、更紧凑,在许多情况下更容易使用(尤其是在使用JavaScript时),但它缺乏一些关键特性,特别是:
*架构支持,
即甲方指定文档格式的能力,以及乙方检查其提供的内容是否符合该格式的能力。
在不同系统之间传递数据时,这一点至关重要,因为与预期格式的偏差可能意味着无法处理数据(更糟糕的是,数据处理不正确)。
*命名空间支持,
即,在同一文档中混合打算由多个源读取(或由多个源写入)的数据的能力。
SOAP协议就是这样的一个例子--命名空间允许SOAP“信封”或“ Package 器”数据的分离,这些数据与序列化的应用程序数据一起传递。这允许Web框架处理SOAP信封,然后将主体/有效载荷数据传递到应用程序上。
JSON在开发需要快速、紧凑和方便的数据序列化的Web应用程序时非常有用,然而,它的灵活性使它不像XML那样适合在不同的系统之间传输数据,或存储将由第三方读取的数据。
也许这些特性迟早会出现在JSON中,但目前XML是Web服务和文件格式等内容的主要格式。
kd3sttzy2#
JSON的优点
1
和字符串"1"
,因为数字、字符串(和布尔值)在JSON中的表示方式不同。XML的优点
抽签
vsnjm48y3#
可扩展标记语言
JSON格式
jjhzyzn04#
XML的优点
1.在各种语言和框架中几乎无处不在的支持。很可能已经有一种工具可以帮助您从XML响应中提取信息。
1.如果你愿意,它可以遵循一个具体的模式,一旦它验证了,你就可以说它是正确的,然后开始解析。
1.名称空间允许您划分XML。
JSON的优点
1.与XML相比是轻量级的。更少的字符=通过
internet tubes
的时间更短。1.如果您需要Web应用程序的一些东西,使用Javascript更容易处理。
nwo49xxi5#
JSON -更小,可以作为JavaScript对象本地加载(速度是一个值)
XML -仍然是标准的,但是更旧(更慢,更大,但不仅仅是JS)
oyxsuwqo6#
JSON是一种比XML简单得多的格式。JSON仅用于将数据描述为对象层次结构,而XML还有许多其他特性。
如果您只需要发送简单的数据,那么JSON是一个很好的选择,因为这正是它的目的。
如果您需要一种更强大的方式来描述数据,那么您将需要XML,因为JSON并没有做任何花哨的事情。
vlf7wbxs7#
它们都是同样的表达格式。JSON没有那么冗长。JSON可以很容易地在JavaScript(和其他语言)中解析,XML也可以很容易地被许多东西解析。
我认为最重要的考虑是什么会消耗数据--如果你已经有一堆XML解释代码,坚持使用它;如果你所有的客户都是Web开发人员,使用JSON。
ifsvaxew8#
更简洁- XML使用了不必要的单词
JSON更快--解析XML软件又慢又麻烦。由于解析大型XML文件的冗长和成本,许多DOM操作库可能会导致应用程序使用大量内存。
JSON数据模型的结构与数据匹配:JSON的数据结构是一个Map,而XML是一棵树,虽然Map(只是键/值对)可能会有限制,但这正是我们想要的,因为它更容易解释,而且是可预测的。
在代码中:项目在代码中的表示方式是相同的。在许多语言中,尤其是动态语言中,您只需“在JSON中发出声音”,就可以立即得到您的域对象。从JSON中的对象到代码中的对象很容易,因为它们是对齐的。从XML中的对象到代码中的对象时,它们并不对齐,因此有很大的解释空间。
JSON有局限性,但这是一件好事:JSON在对象建模方面是有限的。有些人可能认为XML更好,因为可以建模更多的对象,而且它不禁止开发人员。但是即使JSON禁止开发人员,它也是一种积极的方式,使代码更简单、更可预测、更易于阅读。XML可以格式化为公司想要的任何外观和功能,但它使开发人员难以阅读、理解在大多数情况下,人们认为XML更好,因为开发人员可以在阳光下做任何事情,但在简化的时代,少即是多,使JSON成为更好的选择。
vlurs2pr9#
是否弃权?
用法?
最适合?
为什么/何时使用XML?
为什么/何时使用JSON?
"只要记住这些规则"
A-字段必须具有一致的名称。
B-所有值必须是字符串。
C-逗号字符必须分隔值。
XML的缺点?
JSON的缺点?
为什么JSON〉XML在总体上是最差的:
与XML类似:
使用JSON时:
*JSON。解析JSON字符串。
希望这个详细的解释能有所帮助。