gpt4 book ai didi

java - jackson 无视@JsonIgnore?

转载 作者:行者123 更新时间:2023-11-29 03:07:32 25 4
gpt4 key购买 nike

我有一个带有“只读”函数的类,不应将其序列化为 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 序列化此函数的输出?

最佳答案

原来我们使用 Jackson 2 来进行 JSON 序列化,所以我需要更改注释包位置。

jackson 1:

import com.codehaus.jackson.annotation.JsonIgnore

jackson 2:

import com.fasterxml.jackson.annotation.JsonIgnore

通过 fasterxml 导入,一切都按预期工作。

关于java - jackson 无视@JsonIgnore?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31344614/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com