4

Webサービスの結果(明らかにjson)をjsonオブジェクトに変換するためにorg.json。*ライブラリを使用しています。私の問題は、JSONObjectおよびJSONArrayコンストラクターがオブジェクトを構築するのに長い時間がかかることです。非常に大量のデータ(それぞれ3〜5個のキーを持つ1〜100個の配列アイテム)を渡していませんが、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%上回りました。

デシリアライズのパフォーマンスも同様で、GsonはJacksonより9倍以上遅く、FastJSONはJacksonより約0.5%速くなっています。

注:現在のテスト結果では、Gson1.6を使用しています。Gson 1.7.1では、データバインドのパフォーマンスがGson 1.6よりも10〜15%向上しました(ただし、手動および手動/ツリーソリューションでは改善が見られませんでした)。結果は、それに応じてすぐに更新されることを願っています。

于 2011-07-02T21:25:23.660 に答える