org.apache.commons.collections.list.LazyList
JSON にシリアル化されたフィールドの 1 つにa を使用するオブジェクトがあります。JSON は次のようになります。
"myObject": ["org.apache.commons.collections.list.LazyList", [
{
"attr1": "asdasd",
"attr2": 1234
}
]],
オブジェクト フィールドは次のようになります。
List<MyObject> myObject = ListUtils.lazyList(new ArrayList(), {new MyObject()} as Factory)
ただし、Jackson ObjectMapper を使用して上記の JSON を逆シリアル化しようとすると、LazyList のデフォルトのコンストラクターが見つからないため失敗します。これは理にかなっています。しかし、このフィールドを逆シリアル化する方法を指定するにはどうすればよいでしょうか?
エラーメッセージ:
[コレクション型; の既定のコンストラクターはありません。クラス org.apache.commons.collections.list.LazyList、[単純型、クラス foo.bar.MyObject]] を含む
報奨金の制約:
報奨金を集めるには、カスタムのジャクソン デシリアライザーを使用してこの質問に答える必要があります。カスタム デシリアライザーはフィールド固有のものであってはなりません。したがって、特定の型の LazyList のカスタム実装を使用するソリューションは、この質問に適切に答えることができません。