将JsonNode读入预先存在的POJO

时间:2014-08-04 06:18:24

标签: java json jackson

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

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

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

2 个答案:

答案 0 :(得分:1)

使用ObjectMapper.readerForUpdating方法。已提出类似问题herehere

答案 1 :(得分:0)

您可以执行内部自定义对象:

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

public class MyNode{
   .....
}

这样你就可以:

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

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