java - 用 jackson 反序列化对象

标签 java spring kotlin jackson fasterxml

我想知道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
  • 关于java - 用 jackson 反序列化对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61396853/

    相关文章:

    java - 关于 SQLite android 中的数组

    java - WebLogic 11g 中的 JPA 日志记录 (10.3.1)

    java - Spring自定义请求上下文

    kotlin - flatMap内部的一个完成时,使原始Observable完整

    generics - Kotlin 编译器混合具体化类型参数

    java - 如何使用 swing 和 clojure 制作动画?

    java - Persistance 的 CriteriaBuilder - 检查是否大于 0

    java - 如何正确处理连接空闲超时错误

    android - 为什么 fragment 中 `by lazy` 委托(delegate)的这种奇怪行为

    java - Java 8 流可以成对处理吗