加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

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

发布时间:2020-12-14 05:23:59 所属栏目:Java 来源:网络整理
导读:JsonProperty没有覆盖杰克逊从getter获取的默认名称.如果我用ObjectMapper和jackson序列化下面的类,我得到了 {"hi":"hello"} 如您所见,JsonProperty注释无效 class JacksonTester { String hi; @JsonProperty("hello") public String getHi() { return hi; }
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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读