首页 > 解决方案 > 未找到杰克逊 JsonNode 方法

问题描述

我有一个带有 Jackson Faster XML 2.5.3 版本的非 Spring Java 8 应用程序。基于缺少的方法,我的代码有一些错误,我试图找出原因?我正在使用来自 Pivotal 的最新 STS Eclipse,我认为这是 Eclipse 中的一个问题。

该代码在我运行单元测试时有效,当我使用 Maven 构建时,它构建得很好。所以,我希望这是 STS/Eclipse 中的 Maven 配置问题。

for (Iterator<JsonNode> iter = parentNode.iterator(); iter.hasNext();) {
    JsonNode childNode = iter.next();
    if (childNode.isObject())  {
        ObjectNode childObject = (ObjectNode)childNode;
        if (value.equals(childObject.get(fieldName).asText()))  {
            matchingChild = childObject;
            break;
        }
    }
}

问题线是;

// parentNode is a: com.fasterxml.jackson.databind.JsonNode; 
parentNode.iterator()  

// childNode is a: com.fasterxml.jackson.databind.JsonNode;
childNode.isObject()

// value is just a String
// childObject is a: com.fasterxml.jackson.databind.node.ObjectNode;
value.equals(childObject.get(fieldName).asText())

对于所有三个错误,我都有:

The method iterator() is undefined for the type JsonNode
The method isObject() is undefined for the type JsonNode
The method asText() is undefined for the type JsonNode

同样,代码在 Maven 中构建,单元测试运行,我预计这是 STS/Eclipse 的 Maven 配置问题。这些错误显示在“问题”选项卡下,是的,我可以在那里删除它们,但随后它们又回来了。所以,我相信这是一个很容易解决的问题。

标签: javajsonjacksonjackson-databind

解决方案


推荐阅读