【发布时间】:2020-08-07 08:19:18
【问题描述】:
我想知道 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的对象。
【问题讨论】:
-
我有类似的任务,最终实现了自定义反序列化器,该反序列化器使用
addDeserializer在杰克逊模块中注册。我建议让SellerId实现某种接口IValueBox<T: Any> { val id: T }并为IValueBox 注册您的自定义解串器。然后,您可以通过反射创建SellerId和类似值类的实例。 -
以下回答是否帮助您解决了问题?
标签: java spring kotlin jackson fasterxml