Jackson

Spring は、Jackson JSON ライブラリのサポートを提供します。

Jackson ベースの JSON MVC ビュー

JacksonJsonView は、Jackson ライブラリの JsonMapper を使用して、レスポンスコンテンツを JSON としてレンダリングします。デフォルトでは、モデルマップのコンテンツ全体(フレームワーク固有のクラスを除く)は JSON としてエンコードされます。マップのコンテンツをフィルターする必要がある場合は、modelKeys プロパティを使用して、エンコードするモデル属性の特定のセットを指定できます。extractValueFromSingleKeyModel プロパティを使用して、モデル属性のマップとしてではなく、単一キーモデルの値を直接抽出および直列化することもできます。

Jackson が提供するアノテーションを使用することで、必要に応じて JSON マッピングをカスタマイズできます。さらに細かい制御が必要な場合は、JsonMapper または JsonMapper.Builder コンストラクターパラメーターを使用してカスタム JsonMapper を注入することで、特定の型に対してカスタム JSON シリアライザーとデシリアライザーを提供できます。

Jackson ベースの XML ビュー

JacksonXmlView は、Jackson XML 拡張機能 [GitHub] (英語)  XmlMapper を使用して、レスポンスコンテンツを XML としてレンダリングします。モデルに複数のエントリが含まれる場合、modelKey Bean プロパティを使用して、直列化されるオブジェクトを明示的に設定する必要があります。モデルに単一のエントリが含まれる場合、自動的に直列化されます。

JAXB または Jackson が提供するアノテーションを使用することで、必要に応じて XML マッピングをカスタマイズできます。さらに細かい制御が必要な場合は、カスタム XML で特定の型に対してシリアライザーとデシリアライザーを提供する必要があるケースに備えて、XmlMapper.Builder で作成されたカスタム XmlMapper を注入することができます。