java当JsonProperty与属性不同时,如何打印对象json?
如果我有任何课程,例如:
import com.fasterxml.jackson.annotation.JsonProperty;
class Person {
@JsonProperty("alternativeName")
private String name;
}
我有一个带有name = "test"
的实例
我想在日志中记录:
Object Person(alternativeName=test, ... [other JsonProperty..])
如何使用JsonProperty而不是属性获取该对象?有什么办法得到它吗
# 1 楼答案
它在日志中的显示方式取决于
toString()
方法。它通常包含属性的名称,不处理@JsonProperty
注释。有两种方法可以做到这一点:toString()
实现,使其打印alternativeName
而不是name
。这样做的缺点是,如果您想将alternativeName
更改为其他内容,则需要调整两个String
李>ObjectMapper
writeValueAsString()
方法。这将考虑@JsonProperty
,但它将Person
记录为JSON,而不是常规POJO(如您在示例中所描述的)李>