如何将 JsonNode 转换为 ObjectNode

2022-09-01 08:05:48

我有一个包含一些数据的对象。我需要对其数据进行一些操作。我用谷歌搜索了答案,但没有正确得到它。你能建议我如何操作JsonNode数据吗?我也尝试转换为以下内容com.fasterxml JsonNodeJsonNodeObjectNode

ObjectNode objectNode = (ObjectNode)filterJson;

但它给出了以下例外...

java.lang.ClassCastException: com.fasterxml.jackson.databind.node.TextNode cannot be cast to 
com.fasterxml.jackson.databind.node.ObjectNode

请帮忙!!


答案 1

您可以通过以下简单方式转换 a:JsonNodeObjectNode

ObjectNode objectNode = jsonNode.deepCopy();

从 Jackson 2.0 提供,并经过 Jackson 2.4.0 测试


答案 2

最后,我得到了如下解决方案...

JsonNode jsonNode = Json.toJson("Json String");
ObjectNode node = (ObjectNode) new ObjectMapper().readTree(jsonNode.asText());
//perform operations on node
jsonNode = (JsonNode) new ObjectMapper().readTree(node.toString());

或另一个如下...

ObjectNode node = (ObjectNode) new ObjectMapper().readTree("Json String")
//perform operations on node
jsonNode = (JsonNode) new ObjectMapper().readTree(node.toString());

但我不知道这是否是好方法?如果有任何比上面更好的,请让我知道。谢谢!