解析具有意外属性的 json 时出错 - 如何放宽解析规则?

Error parsing json with unexpected properties - how to relax parsing rules?

我在 DropWizard 中有一个 API hosted/written。它消耗 JSON 并且效果很好

@POST
public void somePost(SomeObject object)

其中 SomeObject 是一个 pojo。 Jackson 将 JSON 反序列化到对象中没有问题。

为了将来证明使用这个 API 的 "calling code",我开始添加一些 SomeObject 中还没有的属性。但是(大概是 Jackson)现在抛出 "error parsing json" 错误。

我想稍微放宽规则,以便 Jackson 对传入的 JSON 中无法识别的字段更加宽容(默认情况下 GSON 会这样做)。我尝试了 @JsonIgnoreProperties class 级别注释,但没有成功。

提前致谢。

你说你试过@JsonIgnoreProperties。你试过这样吗?

@JsonIgnoreProperties(ignoreUnknown = true)

经过以上测试,它应该可以工作。

另一种选择是通过禁用 DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES 全局允许任何和所有未知属性。忽略所有未映射的内容可能是危险的,但对于 "Open Content" 样式用法,它非常有效。