使用意外属性解析json时出错 - 如何放宽解析规则?

时间:2015-05-19 16:17:39

标签: jackson dropwizard

我在DropWizard中托管/编写了一个API。它消耗JSON并且运行良好

@POST
public void somePost(SomeObject object)

SomeObject是pojo的地方。杰克逊将JSON反序列化到对象中没有问题。

以后证明"呼叫代码"使用此API我开始添加一些尚未在SomeObject中的属性。然而(大概是杰克逊)现在抛出一个"错误解析json"错误。

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

提前致谢。

2 个答案:

答案 0 :(得分:4)

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

  

@JsonIgnoreProperties(ignoreUnknown = true)

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

答案 1 :(得分:0)

另一种选择是通过禁用DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES来全局允许任何和所有未知属性。忽略一切没有映射的东西可能是危险的,但对于"开放内容"风格用法很棒。