使用默认ObjectMapper后,布尔JSON参数为false [英] boolean JSON parameter is false after using default ObjectMapper

查看:515
本文介绍了使用默认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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆