Android JSON 库的性能和可用性比较 [已关闭]

2022-09-01 09:37:00

在Android上解析JSON的最佳库是什么?我知道Android框架内置了一个JSON库,我听说过GSON。但我想知道是否有人比较了Android上的各种JSON选项,并提出了选择一个而不是另一个的理由。我认为性能和可用性是主要标准。


答案 1

虽然有少数Java到/from-JSON API提供了JSON和任意Java数据结构之间的简单(基本)绑定,但Jackson和Gson是迄今为止最复杂(有能力)和功能最丰富的选项。

早在 2011 年 7 月),我就在我的博客上发布了一个多部分系列文章,比较了使用 Gson 与 Jackson 的功能,逐步介绍了 Gson 用户指南中组织的功能,包括 Jackson 中的类似实现示例(以及 Gson 中的实现示例,其中 Gson 用户指南不完整或损坏)。

本系列的第六部分提供了用于比较的简单导航链接,以及摘要比较列表。http://programmerbruce.blogspot.com/2011/07/gson-v-jackson-part-6.html

这是使用Gson和Jackson进行常见的JSON到/from-Java任务的最全面的比较。

如前所述,https://github.com/eishay/jvm-serializers/wiki 提供了各种Java到/from-JSON API的性能比较。Gson(2.0)的当前版本显示,在序列化和反序列化500字节JSON结构方面,使用非常相似的实现工作(仅一行或两行代码),Gson(2.0)的当前版本比当前版本的Jackson(1.9.2)慢约16倍。

Martin Adamek 在 http://martinadamek.com/2011/01/31/comparison-of-json-parsers-performance-on-android/ 和 http://martinadamek.com/2011/02/04/json-parsers-performance-on-android-with-warmup-and-multiple-iterations/ 发布了在 Android 上运行的各种 API 的一些性能结果


答案 2

GSON非常易于使用,如果性能不是问题,那就太好了。杰克逊的速度要快得多,而且使用起来并没有那么努力。正如我过去在另一个相关的SO问题中所说的那样,通过简单地从GSON切换到Jackson,我获得了巨大的性能提升(在使用大型JSON集时)。