我有一个类,其中包含一个“只读”函数,不应该被序列化为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:""}
(我们正在使用带有Spring MVC的Jackson 1.9.13。)除了将函数重命名以以其他方式开头外,我还能做什么来防止Jackson序列化此函数的输出?
HttpMessageConverter
或使用默认值? - Sotirios Delimanoliscom.fasterxml.jackson.annotation.JsonIgnore
可用,那是另一种判断方式。 - Sam Berrycom.fasterxml.jackson
注解。 - J.Steve