这可能是复制品.但我找不到解决问题的办法.

我有课

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

In JSON, the key is coming as {"success": true}.

我要 keys 本身是isSuccess.Jackson在序列化时使用setter方法吗?如何使键本身成为字段名?

推荐答案

这是一个稍晚的答案,但对访问此页面的其他任何人都可能有用.

A simple solution to changing the name that Jackson will use for when serializing to JSON is to use the @JsonProperty annotation, so your example would become:

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"),因为它只有一个value元素

Json相关问答推荐

JOLT转换,将属性复制到同级别的dict中

使用相同的密钥值来命名Json并使用Jolt重命名密钥

为什么terraform不缩小这个策略JSON?'

JSON字符串处理注入引号

Flutter -控制器问题-JSON API

JOLT转换以基于对象属性过滤JSON数组

在linux控制台中解析json字符串的最简单方法是什么?

如何强制仅有一个元素的数组在JSON中生成方括号

jq可以在两个JSON对象列表中依次添加对象吗?

将 JSON 字符串解析为 Kotlin Android 中的对象列表(MOSHI?)

嵌套存储在字符串变量中的 JSON 对象

Scala - 在构建 Json 时无法删除 Key -> value "{}" 大括号的双引号

使用带有逗号的字段名称构建 struct

通过sql查询读取嵌套Json

Google GCM 服务器返回未经授权的错误 401

Jackson 的@JsonView、@JsonFilter 和 Spring

应该使用什么标头将 GZIP 压缩 JSON 从 Android 客户端发送到服务器?

将循环 struct 转换为 JSON - 有什么方法可以找到它抱怨的字段?

如何在 Java 中将 YAML 转换为 JSON?

使用 axios 在 POST multipart/form-data 请求中发送文件和 json