我正在使用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/