【发布时间】:2019-02-22 03:36:04
【问题描述】:
来自 API 的 JSON 响应:
{
"result":[
{
"ResultType":"SUCCESS"
}
]
}
转换为 ResultClass.class 后:
{
"result":[
{
"resultType":null
}
]
}
转换为 ResultClass.class 后的预期输出:
{
"result":[
{
"resultType":"SUCCESS"
}
]
}
我正在与第三方 API 集成。我想在反序列化时更改属性名称。我已在归档的 getter 和 setter 上尝试过 @JsonProperty。但该值未反映在字段 resultType 中。
ResultClass.java
@JsonProperty("result")
List<TestClass> result = new ArrayList<>();
public List<TestClass> getResult() {
return result;
}
public void setResult(List<TestClass> result) {
this.result = result;
}
TestClass.java
@JsonProperty("ResultType")
private String resultType;
public String getResultType() {
return resultType;
}
public void setResultType(String resultType) {
this.resultType = resultType;
}
注意:我已经尝试过 JsonObject,它工作正常。我正在使用 HttpClient 和 HttpResponse 发出请求。Jackson 版本:2.5.0
【问题讨论】:
-
你在输出中实际得到了什么?你也可以添加吗?
-
{"result":[{"ResultType":"SUCCESS"}]} 并在转换后 {"result":[{"resultType":null}]}
-
我添加了详细信息@MaruthiAdithya
-
如果你在getter和setter上加上
@JsonProperty("ResultType"),你会得到什么输出? -
我测试了你的代码,一切正常!