使用默认ObjectMapper后,布尔JSON参数为false [英] boolean JSON parameter is false after using default ObjectMapper
本文介绍了使用默认ObjectMapper后,布尔JSON参数为false的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有带有boolean(isBlocked)参数的JSON响应
I have JSON response with boolean (isBlocked) parameter
{"isBlocked":true,"responseId":"ab123456789", "other":"irrelevant"}
我的ResponseVO(具有使用Eclipse自动生成的getter和setter):
My ResponseVO (with auto generated getters and setters using Eclipse):
@JsonIgnoreProperties(ignoreUnknown = true)
public class ResponseVO {
private boolean isBlocked;
private String responseId;
public boolean isBlocked() {
return isBlocked;
}
public void setBlocked(boolean isBlocked) {
this.isBlocked = isBlocked;
}
public String getResponseId() {
return responseId;
}
public void setResponseId(String responseId) {
this.responseId = responseId;
}
}
我正在使用ObjectMapper
设置VO对象
I'm using ObjectMapper
to set VO object
ResponseVO responseVO = new ObjectMapper().readValue(response, ResponseVO.class);
但是布尔参数设置为false而不是true
But boolean parameter is set to false instead of true
logger.debug("SpelPaus Block=" + responseVO.isBlocked());
推荐答案
将私有属性重命名为private boolean blocked;
,将setter-getter设置为
and setter-getter as
public boolean isBlocked()
{return blocked;}
public void setBlocked(boolean blocked)
{this.blocked = blocked;}
这篇关于使用默认ObjectMapper后,布尔JSON参数为false的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文