gpt4 book ai didi

java - 将带有 jackson 的嵌套 json 映射到 java 字段

转载 作者:行者123 更新时间:2023-11-29 08:30:18 27 4
gpt4 key购买 nike

我有一个 rest 端点,它返回一个像这样的 3 级嵌套 json:

 {
"user":{
"departament":{
"departInfo":{
"departName":"String"
}
}
}
}

我有一个没有相同 3 个嵌套级别的 java 类:

@JsonIgnorePropertires("ignoreUnknown = true")
class User(){
String departName
}

当我使用 restTemplate 进行休息调用时:

User response = restTemplate.exchange(url, HttpMethod.GET,
request, User.class)

即使使用 json 忽略属性,jackson 也没有映射字段 departName(因为我猜它不在同一嵌套级别)。

如何将此 http json 响应映射到我的 java 字段而忽略嵌套的父 json?

最佳答案

您必须通过方法和 @JsonProperty

映射您的嵌套对象
    @JsonIgnorePropertires("ignoreUnknown = true")
class User(){
String departName;

@JsonProperty("department")
private void mapDepartmentName(Map<String,Object department) {
this.departName = ((Map<String,String>)department.get("departInfo")).get("departName");
}
}

关于java - 将带有 jackson 的嵌套 json 映射到 java 字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48910635/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com