java - 使用 Jackson 解析 json

标签 java json jackson nested

我正在使用Jackson library用于将 JSON 字符串转换为 Java 对象

我的 json 是:

{  
   "human":{  
      "fname":"anjali",
      "lname":"malhotra"
   }
}

我希望将其转换为具有以下结构的 Java 类:

public class Human
{
  String fname;
  String lname;
}

我可以成功将其转换为

public class HumanWrapper
{
  Human human;
}

但是,我想知道是否有办法可以直接将其转换为人类格式。我读过有关自定义反序列化的内容,但不愿意采用这种方法。

最佳答案

您可以通过将 ObjectMapper 配置为使用 DeserializationFeature.UNWRAP_ROOT_VALUE 来实现此目的:

ObjectMapper mapper = new ObjectMapper();
mapper.configure(DeserializationFeature.UNWRAP_ROOT_VALUE, true);

并使用 @JsonRootName 注释您的 Human 类注释:

@JsonRootName("human")
public class Human {
....
}

关于java - 使用 Jackson 解析 json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57070309/

相关文章:

java - 如何处理多个对象的周期性更新?

java - 遍历所有已安装应用程序的 AndroidManifest.xml 文件?

java - Mongodb java 3.0驱动误区

javascript - 修改json对象并保存

java - 仅允许某些类构造另一个类的模式的名称

c# - SQL Server 中的 orderby json 字段

java - json 数组遇到问题

java - 将 JSON 映射到 java POJO (jackson)

java - Jackson JSON 通过树遍历映射到对象

java - Jackson 2.4 反序列化时寻找旧类