【问题标题】:Read JsonNode into a pre-existed POJO将 JsonNode 读入预先存在的 POJO
【发布时间】:2014-08-04 06:18:23
【问题描述】:

目前我这样做是为了将JsonNode 转换为 POJO:

try {
    MyClass obj = mapper.treeToValue(jsonData, MyClass.class)));
    /* consume obj */
} catch (JsonProcessingException ex) {
    return false;
}

但有时我不想获得MyClass 的新实例。我之前已经填充了它,现在我只想为某些字段设置新值并为未更改的字段保留旧值。我想要的是这样的:mapper.readJsonNodeToPOJO(jsonData, obj))); 可以这样做吗?

【问题讨论】:

  • 为什么不在 MyClass 中添加一个内部对象来映射节点?
  • @inigoD 我不明白你的评论,你能解释一下吗?

标签: java json jackson


【解决方案1】:

使用ObjectMapper.readerForUpdating 方法。 herehere 也有人问过类似的问题

【讨论】:

    【解决方案2】:

    你可以做一个内部自定义对象:

    public class MyClass{
      MyNode node:
      ....
    }
    
    public class MyNode{
       .....
    }
    

    这样你就可以做到:

    MyClass obj = mapper.treeToValue(jsonData, MyClass.class)));
    

    和:

    obj.setNode(mapper.treeToValue(jsonSubData, MyNode.class))
    

    【讨论】:

      猜你喜欢
      • 2013-11-11
      • 2018-09-06
      • 1970-01-01
      • 1970-01-01
      • 2018-10-26
      • 1970-01-01
      • 1970-01-01
      • 2012-10-29
      • 2019-01-19
      相关资源
      最近更新 更多