Jackson

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

Jackson ベースの JSON MVC ビュー

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

Jackson が提供するアノテーションを使用して、必要に応じて JSON マッピングをカスタマイズできます。さらに制御が必要な場合は、特定の型のカスタム JSON シリアライザーとデシリアライザーを提供する必要がある場合に、ObjectMapper プロパティを介してカスタム ObjectMapper を挿入できます。

Jackson ベースの XML ビュー

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

JAXB または Jackson が提供するアノテーションを使用して、必要に応じて XML マッピングをカスタマイズできます。さらに制御が必要な場合は、カスタム XML で特定の型に対してシリアライザーとデシリアライザーを提供する必要がある場合に、ObjectMapper プロパティを介してカスタム XmlMapper を挿入できます。