【发布时间】:2014-01-09 16:57:29
【问题描述】:
Jackson 非常适合在 POJO 和 json 字符串之间进行转换。但是用它来操作一个 json 字符串是很痛苦的。我发现自己在做这样的事情:
ObjectMapper mapper = new ObjectMapper();
JsonNode node = mapper.readTree(ReadFile("testObj.json"));
((ObjectNode)node).put("testField", "newTestValue");
TestObject obj = mapper.readValue(mapper.writeValueAsString(node), TestObject.class);
这是一个简单的例子。如果您想添加一个新对象或一组事物,它会变得更加复杂。有没有更好的方法来做到这一点?
【问题讨论】:
-
你在做什么就好了。如果有的话,将
node的声明类型设置为ObjectNode,如果你知道它是一个JSON 对象,则将readTree的返回值强制转换。 -
看起来您想更改输入 JSON,然后将其反序列化为您的 POJO 类,不是吗?