我想知道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值反序列化。
  • sellerIdcom.fasterxml.jackson.annotation.JsonAlias批注注释com.fasterxml.jackson.annotation.JsonProperty属性。类似于:@JsonProperty("id") val sellerId: SellerId
  • 07-24 21:10