轻量快速的Android JSON解析器?

3

在我开始这个项目时,我选择了GSON作为最完善且备受支持的工具。

但是,我现在感觉它的性能不太好。比如说,当我从Web服务加载包含200个对象的数组时,它需要大约5秒钟的时间才能将其解析成对象数组在我的Nexus S上。在模拟器上,这种情况更加明显。在这种情况下,我喜欢模拟器的慢速,因为它很好地展示了所有这些糟糕的地方。

现在我的应用程序几乎已经稳定了,所以我正在寻找不同的方法来完成我需要做的事情,也许可以节省安装大小。由于HTC的问题,我不得不将GSON和自定义命名空间烤进我的应用程序中。

3个回答

4
比较json解析库。 大文件结果 enter image description here 小文件结果

enter image description here

选择使用哪个解析库取决于您的环境和需求。如果您的环境经常或主要处理大型JSON文件,则最好使用Jackson库。GSON在处理大文件时表现最差。如果您的环境主要处理许多小的JSON请求,例如在微服务或分布式架构设置中,则最好使用GSON库。Jackson在处理小文件时表现最差。如果您经常需要处理两种类型的文件,则JSON.simple在两个测试中都排名第二,是一个适合不同环境的好工具。无论是Jackson还是GSON都不能在多个文件大小上表现出色。http://blog.takipi.com/the-ultimate-json-library-json-simple-vs-gson-vs-jackson-vs-json/

1
不能使用外部链接作为答案。 - Anantha Raju C

3

你尝试过使用org.json解析器吗?


我点赞了这个,因为我使用过它,它很轻便快速。但在你抛弃GSON之前,请记住它处理了很多验证和错误处理。你可能需要自己实现这些,所以当你完成所有的验证和检查时,你可能看不到太大的区别。 - Plastic Sturgeon

3

在以往的项目中,我通过从GSON切换到Jackson获得了相当显著的性能提升。


2
目前在 https://github.com/eishay/jvm-serializers/wiki 的性能测试结果显示,当绑定到字符串输入/输出时,Jackson 比 Gson 快8倍。 - Programmer Bruce
好看的图表。当我切换后,速度快了很多,以至于我都没去测量差异。很高兴看到一些匹配的数字。 - kabuko

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接