## Gson でのシリアル化フィールドの除外
Gson でオブジェクトをシリアル化する場合、結果の JSON 出力から特定のフィールドを除外することが望ましいです。アノテーションはフィールド除外の効率的な方法を提供しますが、この記事では、Struts2 JSON プラグインの "excludeProperties" パラメーターとの一貫性を維持しながら、正規表現を活用するソリューションを検討します。
当初、GsonBuilder の ExclusionStrategy を採用する試みが行われました。ただし、FieldAttributes には、オブジェクト グラフ内の位置に基づいてフィールドを正確に照合するために必要な情報が不足しています。
特定のフィールドのシリアル化を回避するには、「一時的」修飾子を使用します。活用される。フィールドに「transient」キーワードの注釈を付けると、それらのフィールドはシリアル化から除外されます。例:
private transient String name;
「country.name」などのネストされたフィールドの詳細な除外を実現するには、正規表現を使用できます。残念ながら、Gson には、フィールドの除外に正規表現フィルターを適用するための簡単なメカニズムが提供されていません。
そのため、シリアル化後に JSON オブジェクトを変更するという代替アプローチが提案されています。このアプローチには次の手順が必要です。
以上が正規表現を使用して Gson で特定のシリアル化フィールドを除外するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。