フィールドのみを使用するように Jackson を構成する: 包括的なソリューション
オブジェクトを JSON にシリアル化および逆シリアル化する場合、Jackson はデフォルトでゲッター/セッターの両方を利用します(プロパティ) とフィールド。ただし、このプロセスではフィールドのみに依存したい場合もあります。これを実現する方法は次のとおりです。
質問で述べたように、個々のクラス レベルで @JsonAutoDetect アノテーションを使用して動作を制御できます。グローバル構成の場合、次のように ObjectMapper をカスタマイズできます。
ObjectMapper mapper = new ObjectMapper(); mapper.setVisibility( mapper.getSerializationConfig().getDefaultVisibilityChecker() .withFieldVisibility(JsonAutoDetect.Visibility.ANY) .withGetterVisibility(JsonAutoDetect.Visibility.NONE) .withSetterVisibility(JsonAutoDetect.Visibility.NONE) .withCreatorVisibility(JsonAutoDetect.Visibility.NONE) );
構成済みマッパーへのグローバル アクセスが必要な場合は、構成への一元的なアプローチとしてラッパー クラスの使用を検討してください。
以上がJSON のシリアル化と逆シリアル化にフィールドのみを使用するように Jackson を構成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。