Jacksonを使ってJSONをJavaオブジェクトに変換(デシリアライズ)しようとしたときに、以下のようなInvalidDefinitionException
が起きたときの対処法をメモしておきます。
環境
原因
Javaオブジェクトに変換するためのJavaクラスにデフォルトコンストラクタが定義されていないからです。Jacksonでは、JSONをJavaオブジェクトに変換(デシリアライズ)するときにはデフォルトコンストラクタを定義する必要があるようです。
対策
以下のようにデフォルトコンストラクタを定義してやればOKです。
まとめ
JacksonでInvalidDefinitionException
が起きたときの対処法でした。