java – Jackson通过删除’is’来重命名原始布尔字段
发布时间:2020-10-19 10:47:48 所属栏目:Java 来源:互联网
导读:这可能是重复的.但是我没有找到解决办法. 我有一个班 public class MyResponse implements Serializable { private boolean isSuccess; public boolean isSuccess() { return isSuccess; } public void setSucce
这可能是重复的.但是我没有找到解决办法. 我有一个班 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}. 我想要的键是asSuccess本身.杰克逊在序列化时使用setter方法吗?如何使密钥作为字段名称本身? 解决方法这是一个稍晚的答案,但可能对任何人来到这个页面有用.一个简单的解决方案来改变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”),因为它只具有单个值元素 (编辑:莱芜站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |