我正在尝试从复杂的java对象生成JSON字符串(使用Jackson API)。在解析字段时,我看到了ClassCastException。 Java对象不归我的项目所有,因此无法更改和修复问题。有没有简单的方法来解决这个问题?
请注意,我的代码处理任何类型的Java对象,特别是这个Java对象,所以我正在寻找一些通用的东西,如果一个字段没有被解析成功,只需忽略并移动到下一个。
ObjectMapper mapper = new ObjectMapper();
CustomModule module = new CustomModule();
mapper.registerModule(module);
ObjectWriter ow = mapper.writer().withDefaultPrettyPrinter();
ow.writeValueAsString(value)
答案 0 :(得分:0)
您可以全局禁用检查实例:
objectMapper.configure(DeserializationConfig.Feature.FAIL_ON_UNKNOWN_PROPERTIES, false);
默认情况下,如果杰克逊遇到无法绑定到对象属性的JSON属性,则会抛出异常。