KotlinJava
JSONの特定の値に応じてパースする型を変えたい
JSONのtypeというパラメータによって、使うフィールドが異なる場合にパッと思いつくやり方は以下かなと思います。
@JsonTypeInfo
、@JsonSubTypes
を使って型を振り分ける
普段は継承をあまり使いたくないが、 sealed class
でスコープを限定することで使いやすくした。
継承にする必要はなく別クラスに定義しても問題ないはず。
参考
Kotlin with Jackson: Deserializing Kotlin Sealed Classes | by Sergii Prodan | Medium
JsonDeserializerを使って空の時に型が配列になるプロパティに対応する - Qiita
Jacksonで独自のJSONシリアライズをする | GROUP DEV BLOG | TECHNO DIGITAL
Jackson使い方メモ - Qiita
Parse Snake case JSON in Spring Boot | by Bhanu Chaddha | Medium
備忘録的なblog: Jacksonでsnake caseのキーをlower camel caseのプロパティーにデシリアライズする
Jackson overcoming underscores in favor of camel-case