努力尽今夕,少年犹可夸。这篇文章主要讲述ObjectMapper如果某些字段无法转换为对象的默认值相关的知识,希望能为你提供帮助。
【ObjectMapper如果某些字段无法转换为对象的默认值】我是java的新手,因此很抱歉,如果这个问题未达到所需的标准:我正在从平面mongodb表中加载数据,并希望将所有文档写入Pojo,因此我将其称为DataClass。我的问题是,在某些情况下,字段的类型不正确。在下面的代码中,我使用mapper.readValue
读取Json并将其投射到对象。如果其中一个字段错误,则整个循环失败。有没有一种方法可以逐个元素地进行操作,而忽略出现故障或设置默认值的情况?
List<
DataClass>
result = new ArrayList<
>
();
FindIterable<
Document>
documents = getCollection().find();
for (Document doc : documents) {
result.add(mapper.readValue(doc.toJson(), DataClass.class));
任何建议将不胜感激。
答案我猜您正在寻找,
ObjectMapper objectMapper = new ObjectMapper();
objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
如果传递的json具有未知属性,这不会使序列化失败。
此外,根据文档,
JsonMappingException,如果输入的JSON结构与结构不匹配预期结果类型(或存在其他不匹配问题)如果朝那个方向看,您可以抓住
JsonMappingException
。推荐阅读
- Xamarin.Android.Support.Fragment,Version = 1.0.0.0,Culture = neutral,PublicKeyToken ='。也许它在Mono
- 如何在Symfony 3中使用纯PHP编译LESS
- 如何使用Smarty循环显示字母和数字的列表
- 如何在Silex中将PHP用作模板引擎而不是Twig
- 如何轻松将项目推到Twig中的数组
- PHP函数”func_get_arg”和”func_get_args”如何从PHP 5.x更改为PHP 7.x
- 如何使用短语法使用Twig检查变量是否存在以及是否为空
- 如何安全处理PHP错误(__toString()不得抛出异常)
- 每个Twig开发人员都应该能够回答的20个问题的答案和解释