加速JSON对象

时间:2011-06-30 19:46:13

标签: android json org.json

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

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

没有很多代码要展示。

JSONArray arrayjson = new JSONArray(json);

其中json是一个字符串。

2 个答案:

答案 0 :(得分:3)

您可以尝试gson。这个article似乎表明它在Android上与其他替代品相比具有相当不错的性能。 Jackson可能是另一个不错的选择。

答案 1 :(得分:3)

根据https://github.com/eishay/jvm-serializers/wiki的性能结果,对于带有字符串的数据绑定的序列化,例如gson.toJson(myObject),Gson比Jackson慢10倍。 FastJSON在同样的测试中击败杰克逊2-3%。

反序列化性能类似,Gson比Jackson快9倍,而FastJSON比Jackson快约0.5%。

注意:目前的测试结果使用了Gson 1.6。使用Gson 1.7.1,数据绑定器性能比Gson 1.6提高了10-15%(但手动和手动/树解决方案没有改进)。希望结果很快就会得到更新。