【问题标题】:ObjectMapper default value of if some fields cannot be cast to objectObjectMapper 如果某些字段无法转换为对象的默认值
【发布时间】:2020-06-13 03:10:08
【问题描述】:

我是 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));

任何建议将不胜感激。

【问题讨论】:

    标签: java mongodb document objectmapper


    【解决方案1】:

    我猜你正在寻找,

    ObjectMapper objectMapper = new ObjectMapper();
    objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
    

    如果传递的 json 具有未知属性,这不会导致序列化失败。


    此外,根据文档,

    如果输入 JSON 结构与结构不匹配,则出现 JsonMappingException 预期结果类型(或有其他不匹配问题)

    如果你朝那个方向看,你可以看到JsonMappingException

    【讨论】:

      猜你喜欢
      • 2020-01-24
      • 2012-11-15
      • 2016-05-04
      • 1970-01-01
      • 1970-01-01
      • 2020-06-16
      • 1970-01-01
      • 1970-01-01
      • 2021-06-14
      相关资源
      最近更新 更多