如何控制Java类的Json输出

时间:2018-11-01 05:46:11

标签: java json jax-rs

我有一个REST API响应对象类,其中包含各种成员及其获取器和设置器。 成员之一是

private String name;

可以对

进行JSON化处理
"name": "John",

但是,由于某种原因,我想将此成员更改为

private Name name;

名称是

public class Name implements Something {
    private String str;

    public Name(String name) {
        this.str = name;
    }       
    @Override
    public String toString() {
        return str;
    }
    public String getValue() {
        return str;
    }
    //... other methods
}

But now it is JSON'ized to something like
"name": {
    "value": "John"
},

无论如何,我是否可以注释名称字段,以便使用toString()以便其JSON表示仍如下所示?

"name": "<name.toString()>"

1 个答案:

答案 0 :(得分:0)

如果您只想更改toString()结果,只需重写toString()。
如果您正在使用Json工具,例如fastjson,请使用@JsonProperty(“”)