杰克逊未填充所有属性

杰克逊未填充所有属性,第1张

杰克逊未填充所有属性

您在评论中说,您正在使用版本 “ 2.5.4”的 Jackson
,但您是

ObjectMapper
org.prehaus
包中导入类。这意味着该类来自1.9.13版(或旧版本)。

我可以重现你的问题,如果我使用混合版本

ObjectMapper
,并
JsonIgnoreProperties
从1.9.13版本(
org.prehaus
),并
JsonProperty
从2.6.0版本(
com.fasterxml
)。

输出:

样本[prop1 = null,prop2 = 2,prop3 = null,prop4 = 4]

如果我只使用1.9.13或2.6.0版本,那么结果就可以了:

样本[prop1 = 1,prop2 = 2,prop3 = 3,prop4 = 4]

(对彼此而言)

因此,我建议确保不要混用已使用的库,并且建议使用来自FasterXML的最新版本。但是使用的版本取决于您。

您可以从此处下载jar文件:

  • org.prehaus.jackson v1.9.13

  • com.fasterxml.jackson(核心)v2.6.0

顺便说一句关于您的评论:

@OldCurmudgeon,感谢您的回复。将字段更改为公开并不能解决问题。我删除了@JsonProperty批注,然后将setter方法更改为setProp_1&setProp_3,它可以正常工作。这是否意味着@JsonProperty批注存在问题?

是的,您有(或希望有:P)该注释问题:它来自其他的Jackson版本。

关于您的修改:

从maven存储库中的fastXML到Jackson库的链接具有一个很大的优势:它向您显示了应该下载哪个库才能在项目中使用Jackson。

你需要:

  • 杰克逊·德宾宾德(也有该
    ObjectMapper
    课程)
  • 杰克逊核心
  • 杰克逊注释


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5427133.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-11
下一篇 2022-12-11

发表评论

登录后才能评论

评论列表(0条)

保存