gpt4 book ai didi

java - 带有@JsonIgnore 的属性和没有注释的属性有什么区别?

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:05:38 26 4
gpt4 key购买 nike

考虑以下类:

private static class Widget {

@JsonProperty
private String id = "ID";

@JsonIgnore
private String jsonIgnored = "JSON_IGNORED";

private String noAnnotation = "NO_ANNOTATION";
}

如果我使用 Jackson 对其进行序列化,我将得到这个字符串:

{"id":"ID"}

带有 @JsonIgnore 的属性和没有注释的属性有什么区别?

最佳答案

@JsonIgnore 注解的属性/方法不会被 Jackson 序列化/反序列化。而未注释的将是。

这里的问题是 Jackson 通常寻找 setter/getter ,而您没有指定任何 setter/getter 。所以这就是它只序列化 @JsonProperty 注释属性的原因。

如果您为 3 个属性实现 3 个 getter,您的 json 将如下所示:

{
"id":"ID",
"noAnnotation":"NO_ANNOTATION"
}

关于java - 带有@JsonIgnore 的属性和没有注释的属性有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38077728/

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