java – Jackson通过删除’is’来重命名原始布尔字段
发布时间:2020-12-14 16:18:26 所属栏目:Java 来源:网络整理
导读:这可能是重复的.但是我没有找到解决办法. 我有一个班 public class MyResponse implements Serializable { private boolean isSuccess; public boolean isSuccess() { return isSuccess; } public void setSuccess(boolean isSuccess) { this.isSuccess = is
这可能是重复的.但是我没有找到解决办法.
我有一个班 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”),因为它只具有单个值元素 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |