18.2.1 マッピング要件
POJOからJSONへのマッピング要件について次に説明します。
- 〈この項の構成〉
(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仕様を参照してください。