您在评论中说,您正在使用版本 “ 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
课程) - 杰克逊核心
- 杰克逊注释
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)