跳至正文
首页 » 博客 » Mobile Performance Testing – JSON vs XML

Mobile Performance Testing – JSON vs XML

导言

如果你正在加载一个配置文件,数据集,甚至是从网站获得的东西作为数据源,那么你会遇到一个性能权衡,因为在解析JSON或XML时发生的处理时间。这篇博客文章介绍了如何使用本机api加载和读取JSON和XML文件在iOS和Android上的表现。

测试文件

为了测试性能, SouthWind数据集用于JSON和XML。两个数据集的大小大致相同,1.3mb,并且包含相同的信息。下面提供了用于执行的源代码。每个项目的源代码非常通用,只需加载数据集文件并将所有员工读入一个数组。所有的定时信息通过日志语句输出。

Android系统

对于XML加载和读取,使用了DocumentBuilderFactoryDocumentBuilderDocumentNodeList类。对于JSON加载和读取,使用了JSONObjectJSONArray类。

使用Kindle Fire HDX 7 “平板电脑进行测试。每次运行时,Android上的结果差异很大,但是JSON是更快的选择,其速度为300毫秒,甚至超过一秒钟的处理时间。

iOS系统

对于XML加载和读取,使用了NSXMLParser类。由于NSXMLParser的使用方式,它需要创建一个单独的类并采用NSXMLParserDelegate。对于JSON加载和读取, NSJSONSerialization类用于从JSON创建NSDictionary

使用iPad 3进行测试。iOS上的结果在整个运行过程中是一致的,并且为每次运行提供了超过一秒钟的JSON优势。

结论

正如您可能猜到的那样,与XML api相比,JSON api在加载和读取方面要快得多。选择要使用的选项需要您查看您正在努力的整个解决方案。例如,许多公司使用XLST转换及其XML,这可能非常强大。如果你的应用程序不需要额外的搜索功能和转换的大量开销的格式,那么JSON是要走的路。开源社区确实做了很好的工作,扩展了JSON的可能性。

托里·贝茨 /p