javajackson忽略@JsonIgnore?
我有一个带有“只读”函数的类,它不应该被序列化为JSON对象。因为函数名以“get”开头,Jackson会抓住它,并且似乎不尊重附加的@JsonIgnore
标记:
import org.codehaus.jackson.annotate.JsonIgnore;
public class MyClass {
publicMyClass() {}
@JsonIgnore
public String getSomeValue() {return "";}
}
我还尝试使用以下语法:
import org.codehaus.jackson.annotate.JsonIgnoreProperties;
@JsonIgnoreProperties({"someValue"})
public class MyClass {
publicMyClass() {}
public String getSomeValue() {return "";}
}
无论哪种情况,结果JSON输出都是相同的:
{someValue:""}
(我们将Jackson 1.9.13与Spring MVC一起使用。)
除了将函数重命名为以“get”以外的其他内容开头,我还能做些什么来防止Jackson序列化此函数的输出
# 1 楼答案
原来我们使用Jackson 2来实现JSON序列化,所以我需要更改注释包的位置
Jackson 1:
Jackson 2:
通过
fasterxml
导入,一切正常