java – 杰克逊没有用@JsonProperty覆盖吸气器

前端之家收集整理的这篇文章主要介绍了java – 杰克逊没有用@JsonProperty覆盖吸气器前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
JsonProperty没有覆盖杰克逊从getter获取的默认名称.如果我用ObjectMapper和jackson序列化下面的类,我得到了
{"hi":"hello"}

如您所见,JsonProperty注释无效

class JacksonTester {
    String hi;

    @JsonProperty("hello")
    public String getHi() {
        return hi;
    }
}

将@JsonProperty放在String本身上也不起作用.我似乎可以更改名称的唯一方法重命名getter,唯一的问题是它的第一个字母总是小写

解决方法

问题是我正在使用旧的和新的杰克逊库

即在我之前
import org.codehaus.jackson.annotate.JsonProperty;
我必须改为以下,以便与我使用的库保持一致.

因为我使用maven也意味着更新我的maven依赖项.
import com.fasterxml.jackson.annotation.JsonProperty;

为了它的工作,我需要在getter上的@JsonProperty注释(把它放在对象上不起作用)

我在这里找到答案(感谢francescoforesti)
@JsonProperty not working as expected

猜你在找的Java相关文章