gsonでオーバーベンチマークプロセスパフォーマンスが近いジャクソン、ジャクソン疑いの安全性と性能安定性にあります。
私は連続fastjson複数のバグに遭遇し、彼は最終的にはジャクソンの抱擁に入れ、あきらめていた。しかし、より多くの設定を使用するには、ジャクソンのAPI。
APIは、いくつかのシーン私のJSONは、エンティティ間の相互変換をJSONに簡単な問題(シリアライズとデシリアライズ)で、シンプルで十分です。
gson APIは、比較的簡単であり、この記事では、以下の抗シリアル化コードの起源です。
@SerializedNameは、フィールド名の問題を持つエンティティのJSON矛盾を示すために使用されます。
インポートcom.google.gson.annotations.SerializedName; インポートlombok.AllArgsConstructor; インポートlombok.Data; インポートlombok.NoArgsConstructor; / ** * * ASRサーバの状態 * / @Data @AllArgsConstructor @NoArgsConstructor パブリック クラスASRServerStatus { / ** * *アイドル労働者の現在の数 * / @SerializedName(「num_workers_available」) プライベート整数availWorkers; // 次のフィールドは、Pythonの収集サーバをフォローアップが追加され、インターフェイスのリターンは現在のデータがまだ関連分野されていません / ** * *タスクが処理されました数 * / @SerializedName( "num_requests_processed" ) プライベート整数processedRequests; / ** * *サーバー負荷1分 * / プライベートフロートLOAD1; / ** * *サーバーの負荷5分 * / プライベートフロートload5; / ** * *サーバーの負荷15分 * / プライベートフロートload15、 プライベートフロートtotalMem; / ** * *キャッシュ/共有メモリ * / プライベートフロートSHAREdmemが; / ** * *式で算出得られる:総-BUFF-使用される * / プライベートフロートavailMem、 プライベートフロートusedMem; }
輸入com.google.gson.Gson; 輸入com.netmarch.web.open.ws.ASRServerStatus; 輸入org.junit.Test; パブリック クラスTestGson { @Test 公共 ボイドdeserial() { 文字列JSON = "{\" num_workers_available \ ":9、\" \ num_requests_processed ":61}" 。 Gson gson = 新しいGson(); ASRServerStatusステータスは gson.fromJson(JSON、ASRServerStatus = クラス)。 System.out.println(ステータス)。 } }
結果: