JavaScript,JSON或SOAP解析更快吗?

问题描述:

以下是两种情况。JavaScript,JSON或SOAP解析更快吗?

  1. 我们使用使用XMLHttpRequest手动内置XML SOAP请求,将其发送到WCF SOAP服务,取回响应并使用XPath来解析数据并填写下拉列表中。

  2. 我们发送的是JSON请求休息WCF服务,并得到一个JSON响应背部和下拉列表分配值下降

哪种情况下更快?我的感觉告诉我#2,但我可能是错的。

+3

我希望选项2,更快之内,但你为什么不衡量猜测呢? – Hamish

+1

我敢打赌JSON会更快;这两种格式都不容易解析,但与XML相比,使用XML和构建DOM的“重量”要远远超过普通的JavaScript对象。但这只是一个预感。 – Pointy

+1

取决于你将使用哪个库来解析每个库。我认为JSON对开发人员来说更舒适,而且最重要的是,您可以在不需要额外工作的情况下使用您的Web应用程序进行web服务 –

在我的方案完成后,可我发现JSON其实就快得多的处理时间,浏览器

+0

使用哪个JS实现?哪些解析器? –

+1

正如所料。几乎所有的浏览器厂商都花费大部分时间来优化Javascript引擎并支持JSON。当您在旧版浏览器中测试此功能时,您可能会得到其他结果,但在现代浏览器中,这是预期的。 +1进行测试。 – GolezTrol

Json会更快,因为Json本质上是Javascript。但这不应该是主要动机。解析数据,无论如何,它们只是应用程序的一小部分。

另一方面,浏览器也训练有素的解析XML。

主要区别在于XML和SOAP因为发送给客户端较大,所以传输可能比解析更大。

无论如何,如果你想知道,你应该只是测试和配置文件,而不是猜测或问。

+0

这并非总是如此,它取决于序列化/反序列化机制。由OP使用的WCF实际上用于将JSON序列化为内部XML表示,然后将其交付给客户端。 –

+0

JSON是符合UTF-8字符编码要求的二进制数据。它仍然需要进行解析,以确保UTF-8字符在转换为JavaScript数据之前是有效的JSON。它的语法类似于JavaScripts文字符号,但它说“基本上是JavaScript”是一种延伸。 –

+0

可能是,但这并不影响传输或解析。顺便说一句,我非常怀疑WCF是否会先用JSON编码数据,然后用XML编码。内部数据结构更可能导出为JSON或XML。 – GolezTrol

选项二一般会比选项一更快,因为JSON比XML更简单。

但是,如果您确实需要快速解析,则不应使用任何一种,您应该使用自定义格式,使用简单的字符串操作进行快速解析。例如逗号分隔的字符串,可以用split(',')解析。

+1

为什么downvote?如果你不解释你认为是错误的,它不能改善答案。 – Guffa

+1

废话。 JSON和XML都可以使用可以高度优化的内置浏览器功能进行分析。你不应该尝试在JavaScript中编写你自己的解析器,试图提高速度。此外,沟通应采用通用和宽容的格式进行。 XML和JSON都是为通信目的而设计的,应该比一些自定义格式更受欢迎。 – GolezTrol

+0

这就是为什么。对不起,写了几秒钟,但如果我没有详细解释为什么我认为这是错的,你可能不想改善答案。 – GolezTrol