18.2.1 マッピング要件
(1) POJO
- POJOクラスは,publicスコープまたはパッケージスコープで定義してください。final修飾子を指定しても問題ありません。
- 任意のコンストラクタを含めることができます。
- JSONの同じ要素にマッピングできるフィールドまたはプロパティが複数ある場合,JsonMappingExceptionがスローされます。例外ハンドリングについては「18.3.3 例外ハンドリング」を参照してください。
- フィールドおよびBeanプロパティの名称が同じ場合,Beanプロパティが優先されます。
(2) フィールド
- フィールドはpublicスコープで定義してください。publicスコープ以外で定義された場合はマッピングされません。
- static修飾子またはtransient修飾子をフィールドに指定しないでください。指定されている場合はマッピングされません。
- final修飾子は指定しても問題ありません。
(3) Beanプロパティ
- Beanプロパティのgetterメソッドはpublicスコープで定義してください。publicスコープ以外で定義された場合はマッピングされません。
- 同じプロパティに対して大文字・小文字の違いだけがあるgetterメソッドが複数ある場合,JsonMappingExceptionがスローされます。例外ハンドリングについては「18.3.3 例外ハンドリング」を参照してください。
- staticをBeanプロパティに指定しないでください。指定されている場合はマッピングされません。
- final修飾子は指定しても問題ありません。
- Beanプロパティは書き込み可能なプロパティである必要はありません。Beanプロパティの詳細についてはJavaBeans仕様を参照してください。