这可能是重复的.但是我没有找到解决办法.
我有一个班
public class MyResponse implements Serializable { private boolean isSuccess; public boolean isSuccess() { return isSuccess; } public void setSuccess(boolean isSuccess) { this.isSuccess = isSuccess; } }
Getters和setter由Eclipse生成.
在另一个类中,我将该值设置为true,并将其写为JSON字符串.
System.out.println(new ObjectMapper().writeValueAsString(myResponse));
在JSON中,关键在于{“成功”:true}.
解决方法
这是一个稍晚的答案,但可能对任何人来到这个页面有用.
一个简单的解决方案来改变Jackson将用于将JSON序列化时使用的名称是使用@JsonProperty注释,因此您的示例将成为:
public class MyResponse implements Serializable { private boolean isSuccess; @JsonProperty(value="isSuccess") public boolean isSuccess() { return isSuccess; } public void setSuccess(boolean isSuccess) { this.isSuccess = isSuccess; } }
这将被序列化为JSON作为{“isSuccess”:true},但具有不必修改getter方法名称的优点.
请注意,在这种情况下,您也可以将注释写为@JsonProperty(“isSuccess”),因为它只具有单个值元素