4

我正在使用 org.json.* 库将我的 Web 服务的结果(显然是 json)转换为 json 对象。我的问题是 JSONObject 和 JSONArray 构造函数需要很长时间来构建对象。我没有传递大量数据(介于 1 到 100 个数组项之间,每个数组项有 3-5 个键),但即使只有 4 或 5 个,构造函数也需要几秒钟才能完成。

有没有办法加快这个速度?我可以使用更快的库吗?

没有很多代码要显示。

JSONArray arrayjson = new JSONArray(json);

其中 json 是一个字符串。

4

2 回答 2

3

你可以试试gson。这篇文章似乎表明它在 Android 上与其他替代品相比具有相当不错的性能。 杰克逊可能是另一个不错的选择。

于 2011-06-30T20:09:50.957 回答
3

根据https://github.com/eishay/jvm-serializers/wiki上的性能结果,对于使用字符串进行数据绑定的序列化,例如 gson.toJson(myObject),Gson 比 Jackson 慢 10 倍以上。在同一测试中,FastJSON 以 2-3% 的优势击败了 Jackson。

反序列化性能相似,Gson 比 Jackson 慢 9 倍以上,FastJSON 比 Jackson 快约 0.5%。

注:当前测试结果使用 Gson 1.6。使用 Gson 1.7.1,数据绑定性能比 Gson 1.6 提高了 10-15%(但手动和手动/树解决方案没有显示任何改进)。结果有望很快相应更新。

于 2011-07-02T21:25:23.660 回答