1. はじめに Jacksonで簡単にJson文字列 -> Javaオブジェクトの変換処理(デシリアライズ)ができるのですが、どうしても一部のプロパティをJSON文字列のまま取得したい要件が発生しました。 何でも入る魔法のプロパティ(ここでは仮にpayloadとする)があって、別のプロパティに定義されているデータ型(FQCN)で復元したいというのが目的です。 JacksonにはJSON文字列を文字列のまま扱う@JsonValueがありますが、これはシリアライズの場合のみ有効なものです。残念ながらデシリアライズの場合は対象外です。 対処方法は独自のJsonDeserializerを実装して、@JsonDeserializeで個別にデシリアライズ処理を指定することです。といっても目的が「JSON文字列のまま取得したい」なのでJsonDeserializerの実装は非常に簡単です。 2. ソース
![Jacksonで一部のプロパティをJSON文字列のまま取得したい! - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/9cc98d3b1d370e762f44f9b7adcef1d9b9d5cde3/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-412672c5f0600ab9a64263b751f1bc81.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk3MiZoPTM3OCZ0eHQ9SmFja3NvbiVFMyU4MSVBNyVFNCVCOCU4MCVFOSU4MyVBOCVFMyU4MSVBRSVFMyU4MyU5NyVFMyU4MyVBRCVFMyU4MyU5MSVFMyU4MyU4NiVFMyU4MiVBMyVFMyU4MiU5MkpTT04lRTYlOTYlODclRTUlQUQlOTclRTUlODglOTclRTMlODElQUUlRTMlODElQkUlRTMlODElQkUlRTUlOEYlOTYlRTUlQkUlOTclRTMlODElOTclRTMlODElOUYlRTMlODElODQlRUYlQkMlODEmdHh0LWFsaWduPWxlZnQlMkN0b3AmdHh0LWNvbG9yPSUyMzIxMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT01NiZzPTAyZjM2NTZlMzFlNTI5OTBlZDVhYjYwNzkzNzljZGMx%26mark-x%3D142%26mark-y%3D57%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZoPTc2Jnc9NzcwJnR4dD0lNDA1em0mdHh0LWNvbG9yPSUyMzIxMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT0zNiZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZzPTVkNjQzYTBlZWVlZmNkNjJmNDYzMDVjZjMwYjk0OWQ0%26blend-x%3D142%26blend-y%3D486%26blend-mode%3Dnormal%26s%3D0a27856a552cac2f32fdaa820d50ad06)