JavaScript,JSON或SOAP解析更快吗?
以下是两种情况。JavaScript,JSON或SOAP解析更快吗?
我们使用使用XMLHttpRequest手动内置XML SOAP请求,将其发送到WCF SOAP服务,取回响应并使用XPath来解析数据并填写下拉列表中。
我们发送的是JSON请求休息WCF服务,并得到一个JSON响应背部和下拉列表分配值下降
哪种情况下更快?我的感觉告诉我#2,但我可能是错的。
在我的方案完成后,可我发现JSON其实就快得多的处理时间,浏览器
使用哪个JS实现?哪些解析器? –
正如所料。几乎所有的浏览器厂商都花费大部分时间来优化Javascript引擎并支持JSON。当您在旧版浏览器中测试此功能时,您可能会得到其他结果,但在现代浏览器中,这是预期的。 +1进行测试。 – GolezTrol
Json会更快,因为Json本质上是Javascript。但这不应该是主要动机。解析数据,无论如何,它们只是应用程序的一小部分。
另一方面,浏览器也训练有素的解析XML。
主要区别在于XML和SOAP因为发送给客户端较大,所以传输可能比解析更大。
无论如何,如果你想知道,你应该只是测试和配置文件,而不是猜测或问。
这并非总是如此,它取决于序列化/反序列化机制。由OP使用的WCF实际上用于将JSON序列化为内部XML表示,然后将其交付给客户端。 –
JSON是符合UTF-8字符编码要求的二进制数据。它仍然需要进行解析,以确保UTF-8字符在转换为JavaScript数据之前是有效的JSON。它的语法类似于JavaScripts文字符号,但它说“基本上是JavaScript”是一种延伸。 –
可能是,但这并不影响传输或解析。顺便说一句,我非常怀疑WCF是否会先用JSON编码数据,然后用XML编码。内部数据结构更可能导出为JSON或XML。 – GolezTrol
选项二一般会比选项一更快,因为JSON比XML更简单。
但是,如果您确实需要快速解析,则不应使用任何一种,您应该使用自定义格式,使用简单的字符串操作进行快速解析。例如逗号分隔的字符串,可以用split(',')
解析。
我希望选项2,更快之内,但你为什么不衡量猜测呢? – Hamish
我敢打赌JSON会更快;这两种格式都不容易解析,但与XML相比,使用XML和构建DOM的“重量”要远远超过普通的JavaScript对象。但这只是一个预感。 – Pointy
取决于你将使用哪个库来解析每个库。我认为JSON对开发人员来说更舒适,而且最重要的是,您可以在不需要额外工作的情况下使用您的Web应用程序进行web服务 –