这可能是重复的。但是我找不到解决我的问题的方法。
我有一个类
public class MyResponse implements Serializable {
private boolean isSuccess;
public boolean isSuccess() {
return isSuccess;
}
public void setSuccess(boolean isSuccess) {
this.isSuccess = isSuccess;
}
}
getter 和 setter 由 Eclipse 生成。
在另一个类中,我将值设置为 true,并将其写为 JSON 字符串。
System.out.println(new ObjectMapper().writeValueAsString(myResponse));
在 JSON 中,密钥为 {"success": true}
。
我想要密钥作为 isSuccess
本身。杰克逊在序列化时使用 setter 方法吗?如何使键成为字段名称本身?
原文由 iCode 发布,翻译遵循 CC BY-SA 4.0 许可协议
这是一个稍晚的答案,但可能对访问此页面的其他人有用。
更改 Jackson 在序列化为 JSON 时使用的名称的一个简单解决方案是使用 @JsonProperty 注释,因此您的示例将变为:
然后将其序列化为 JSON 作为
{"isSuccess":true}
,但具有不必修改 getter 方法名称的优点。请注意,在这种情况下,您还可以将注释写为
@JsonProperty("isSuccess")
因为它只有一个value
元素