【发布时间】:2016-06-29 11:42:10
【问题描述】:
假设我有这样的 json,我想将它反序列化为一个名为 SubscriberProfile 的对象。
{ "field1": "value1", "field2": "value2", "field3": "value3" }
当我使用以下代码时,它可以正常工作,
objectMapper.readValue(json,SubscriberProfile.class);
但如果 json 中缺少 field2(可能缺少 field1 和 field2),我希望 objectmapper 抛出和异常。
所以这样的json应该抛出异常
{ "field1": "value1", "field3": "value3" }
我尝试使用@JsonProperty(required=true) 注释,但仅在序列化时有效。
你知道我该如何解决这个问题吗?
提前致谢
【问题讨论】:
-
简而言之; jackson 不验证反序列化 - 您需要在反序列化后验证对象,例如使用 hibernate-validator(JSR-303 的参考实现)
标签: java json jackson deserialization objectmapper