0

ここで、Java を前処理する方法について質問があります。私はいくつかの提案を実装し、それを機能させることができました。唯一の懸念はパフォーマンスです。

JavaでのJson前処理

私は2つの方法を試しました:

1 つの方法は、ハッシュ マップにダンプした gson を使用することです。次に、ゲッターでマップを調べて読み取ります。それを行うのに12秒かかりました。

もう1つのアプローチを試みました。2 つの json 形式に対して 2 つのクラスを作成しました。ソースに基づいて、jaskson を使用してそれぞれのクラスにマップしています。正規化されたクラス (一般名を持つクラス) で作成しました。今、ドーザー ライブラリを使用して正規化されたクラスにマップしています。最終的に、すべての結果は正規化されたクラス オブジェクトのセットになります。現在8秒かかっています

この作業をより迅速に行う方法があるかどうか疑問に思っています。どちらの場合も、オーバーヘッドが何千ものオブジェクトを作成していると思いますが、これは望ましくありません。私が必要とするのは、それらを表のフロントエンドに表示することだけです。

正規表現を使用して生のjsonを操作することは良いオプションですか?

スレッドは役に立ちますか?

他の提案はありますか?

ありがとう

4

1 に答える 1

2

必要に応じて、Jackson のストリーム パーサーを使用して超高速のパフォーマンスを得ることができます。そうする前に、私は真剣にいくつかの適切なベンチマークを行いますが、Jackson では 1000 個のオブジェクトを解析するのに 8 秒もかからないためです。このベンチマークシリーズを参照してください。リポジトリを複製し、そのフレームワーク内で動作するようにクラスを適応させることができれば、Jackson がデータ クラスでどのように動作するかについて優れたアイデアを得ることができます。あなたの問題はジャクソンではなく、コード内の他の場所にあると思われます。プロファイラーはそこで大いに役立ちます。

于 2013-04-03T19:05:11.673 に答える