Ori Marko
Ori Marko

Reputation: 58772

boolean JSON parameter is false after using default ObjectMapper

I have JSON response with boolean (isBlocked) parameter

{"isBlocked":true,"responseId":"ab123456789", "other":"irrelevant"}

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;
}   

}

I'm using ObjectMapper to set VO object

ResponseVO responseVO = new ObjectMapper().readValue(response, ResponseVO.class);

But boolean parameter is set to false instead of true

logger.debug("SpelPaus Block=" + responseVO.isBlocked());

Upvotes: 0

Views: 2896

Answers (1)

Rohit Sidhwani
Rohit Sidhwani

Reputation: 120

Rename the private attribute to private boolean blocked;

and setter-getter as

public boolean isBlocked()
    {return blocked;}

public void setBlocked(boolean blocked)
    {this.blocked = blocked;}

Upvotes: 4

Related Questions