导言
如果你正在加载一个配置文件,数据集,甚至是从网站获得的东西作为数据源,那么你会遇到一个性能权衡,因为在解析JSON或XML时发生的处理时间。这篇博客文章介绍了如何使用本机api加载和读取JSON和XML文件在iOS和Android上的表现。
测试文件
为了测试性能, SouthWind数据集用于JSON和XML。两个数据集的大小大致相同,1.3mb,并且包含相同的信息。下面提供了用于执行的源代码。每个项目的源代码非常通用,只需加载数据集文件并将所有员工读入一个数组。所有的定时信息通过日志语句输出。
Android系统
对于XML加载和读取,使用了DocumentBuilderFactory、DocumentBuilder、Document和NodeList类。对于JSON加载和读取,使用了JSONObject和JSONArray类。
使用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