java - 如何控制 Java 类的 Json 输出
问题描述
我有一个 REST API 响应对象类,其中包含各种成员及其 getter 和 setter。其中一名成员是
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()>"
解决方案
如果您只想更改 toString() 结果,只需重写 toString()。
如果您使用 Json 工具,例如 fastjson,请使用 @JsonProperty("")
推荐阅读
- excel - ThisWorkbook UsedRange 错误 - 未定义变量
- node.js - 如何关闭 JDBC 连接
- javascript - Django Javascript:如何在函数中使用带有模板标签的类名作为标识符
- elasticsearch - 如何在 Elasticsearch 中聚合位字段?
- javascript - 有没有办法干净地创建一个在鼠标左键向上或向下后解决的承诺?
- session - Kubernetes 服务会话亲和性,如何通过服务而不是端点来坚持会话
- java - 如何在java中优先考虑某个请求?
- r - 删除具有其他值而不是所需值的分组行
- java - 当文件路径包含中文单词时,如何检查文件是否存在于Java中?
- data-structures - 存储用户名和密码的最佳方式