Gson: 注釈なしのシリアル化から特定のフィールドを除外する
注釈なしで Gson のシリアル化から特定のフィールドを除外するのは難しい場合があります。カスタム ExclusionStrategy を使用してこれを実現する方法は次のとおりです。
Custom ExclusionStrategy
Gson は、フィールドの除外方法をカスタマイズできる ExclusionStrategy インターフェイスを提供します。このインターフェイスの実装を作成します。
public class FieldExclusionStrategy implements ExclusionStrategy { private Pattern pattern; public FieldExclusionStrategy(String regex) { pattern = Pattern.compile(regex); } @Override public boolean shouldSkipField(FieldAttributes fa) { String fieldName = fa.getName(); return pattern.matcher(fieldName).matches(); } @Override public boolean shouldSkipClass(Class> clazz) { return false; } }
除外のカスタマイズ
この例では、ExclusionStrategy は指定された正規表現に基づいてフィールドを除外します。 country.name など、除外するフィールドに一致するパターンをカスタマイズできます。
ExclusionStrategy の使用
ExclusionStrategy を定義したら、設定時にそれを使用します。 GsonBuilder:
Gson gson = new GsonBuilder() .setExclusionStrategies(new FieldExclusionStrategy("country.name")) .create();
の使用法例
Gson を設定した後、次のように Student オブジェクトをシリアル化できます。
String json = gson.toJson(student);
これにより、シリアル化された JSON 出力から country.name フィールドが除外されます。
補足
- ご希望の場合は他の基準 (型や注釈など) に基づいてフィールドを除外する場合は、それに応じて shouldSkipField メソッドと shouldSkipClass メソッドを変更できます。
- 同じ型のフィールドの場合、除外ルールは特定のフィールド パスに適用されます。この場合、countryOfBirth.name は除外されません。
- 型全体を除外するには、ExclusionStrategy の shouldSkipClass メソッドをオーバーライドします。
以上が注釈なしで Gson シリアル化から特定のフィールドを除外するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

jvm'sperformanceiscompetitivewitherruntimes、sped、safety、andproductivityの提供

javaachievesplatformedentenceTheThejavavirtualMachine(JVM)、avainwithcodetorunonanyplatformwithajvm.1)codescompiledintobytecode、notmachine-specificcode.2)

thejvmisanabstractcomputingMachineCrucialForrunningJavaProgramsDuetoitsPlatForm-IndopentInterChitecture.Itincludes:1)ClassLoaderForloadingClasses、2)Runtimedataareaforforforatastorage、3)executionEngineWithinterter、Jitcompiler、およびGarbagecolfecolfecolfececolfecolfer

jvmhasacloserelationshiptheosasittrantesjavabytecodecodecodecodecodecodecodecodecodecodecodecodecodetructions、manageSmemory、およびhandlesgarbagecollection.thisrelationshipallowsjavatorunonvariousosenvirnments、Butalsedentsはspeedifediferentjvmbeviorhiorsandosendisfredediferentjvmbehbehioorysando

Javaの実装「Write and、Run Everywherewhere」はBytecodeにコンパイルされ、Java仮想マシン(JVM)で実行されます。 1)Javaコードを書き、それをByteCodeにコンパイルします。 2)JVMがインストールされたプラットフォームでByteCodeが実行されます。 3)Javaネイティブインターフェイス(JNI)を使用して、プラットフォーム固有の機能を処理します。 JVMの一貫性やプラットフォーム固有のライブラリの使用などの課題にもかかわらず、Woraは開発効率と展開の柔軟性を大幅に向上させます。

javaachievesplatformentenceTheTheTheJavavirtualMachine(JVM)、CodetorunondifferentoperatingSystemswithOutModification.thejvmcompilesjavacodeplatform-IndopentedbyTecodeを承認することを許可します

javaispowerfulfulduetoitsplatformindepentence、object-orientednature、richstandardlibrary、performancecapability、andstrongsecurityfeatures.1)platformendependenceallowseplicationStorunonaydevicesupportingjava.2)オブジェクト指向のプログラマン型

上位のJava関数には、次のものが含まれます。1)オブジェクト指向プログラミング、サポートポリ型、コードの柔軟性と保守性の向上。 2)例外処理メカニズム、トライキャッチ式ブロックによるコードの堅牢性の向上。 3)ゴミ収集、メモリ管理の簡素化。 4)ジェネリック、タイプの安全性の向上。 5)コードをより簡潔で表現力豊かにするためのAMBDAの表現と機能的なプログラミング。 6)最適化されたデータ構造とアルゴリズムを提供するリッチ標準ライブラリ。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

SecLists
SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

SublimeText3 英語版
推奨: Win バージョン、コードプロンプトをサポート!

SublimeText3 Linux 新バージョン
SublimeText3 Linux 最新バージョン

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)
