我想知道FasterXML Jackson中是否有一个选项(或任何其他纯方法)以这种方式反序列化JSON,这样当我从如下API获得JSON响应时:
{"id": "1234", "name": "name1"}
然后自动将其即时映射到类层次结构,如下所示:
class Person (
val sellerId: SellerId,
val name: String
)
class SellerId (
val id: String
)
我实际上很有趣,主要是如何从顶级“id”动态地反序列化:将字符串转换为嵌套的“sellerid”,这是包含此id的对象。
最佳答案
你需要:
String
参数自构造函数/工厂方法,以从String
类的SellerId
值反序列化。 sellerId
或com.fasterxml.jackson.annotation.JsonAlias
批注注释com.fasterxml.jackson.annotation.JsonProperty
属性。类似于:@JsonProperty("id") val sellerId: SellerId