找不到明确的方法:class com.fasterxml.jackson.databind.node.ArrayNode.get(java.lang.Long)

找不到明确的方法:class com.fasterxml.jackson.databind.node.ArrayNode.get(java.lang.Long),java,json,spring-mvc,jackson,Java,Json,Spring Mvc,Jackson,我有一个springmvc项目,其中Maven管理依赖项。我需要读取JSON并向视图显示其内容 给定一个简单的JSON对象 { "items" : [{"model" : "m1"}, {"model" : "m2"}, {"model" : "m3"}] } 我利用来自的包来读取和解析文件,然后在@Controller JsonNode itemsNode = Node.path("items"); model.addAttribute("items", itemsNode); 在

我有一个
springmvc
项目,其中
Maven
管理依赖项。我需要读取JSON并向视图显示其内容

给定一个简单的JSON对象

{
    "items" : [{"model" : "m1"}, {"model" : "m2"}, {"model" : "m3"}]
}
我利用来自的包来读取和解析文件,然后在
@Controller

JsonNode itemsNode = Node.path("items");
model.addAttribute("items", itemsNode);
在JSP上,我检索值

Item 0: ${items.get(0)}, Item 1: ${items.get(1)}, Item 2: ${items.get(2)}
我遇到的问题是,

当我使用时,一切正常

<dependency>
    <groupId>org.codehaus.jackson</groupId>
    <artifactId>jackson-mapper-asl</artifactId>
    <version>1.9.13</version>
</dependency>

<dependency>
    <groupId>org.codehaus.jackson</groupId>
    <artifactId>jackson-core-asl</artifactId>
    <version>1.9.13</version>
</dependency>

org.codehaus.jackson
杰克逊地图绘制者
1.9.13
org.codehaus.jackson
jackson core asl
1.9.13
但我犯了个错误

HTTP状态500-javax.el.MethodNotFoundException:找不到明确的方法:class com.fasterxml.jackson.databind.node.ArrayNode.get(java.lang.Long)

当我将两个
替换为

<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-databind</artifactId>
    <version>2.5.1</version>
</dependency>

com.fasterxml.jackson.core
杰克逊数据绑定
2.5.1
没有源代码更改(除了
import
语句)。弹簧为4.1.5.1释放

${items.get(0)}
JSP将0视为长的,但
ArrayNode.get()
。退房简而言之,您可以尝试以下方法:

${items.get( (0).intValue() )}

是的,我注意到了。所以尝试了
Integer.parseInt(“0”)
新的整数(0)
,但没有成功。你的方法很有效,非常感谢。但我也想知道为什么0在不同版本的Jackson上会受到不同的对待。是的,我自己也很想知道。我查看了Javadocs,两个版本都有get(int)。我假设解释JSP应该是JEE实现的工作,发现Tomcat 8.0.9给了我另一个错误
,无法找到明确的方法:class com.fasterxml.jackson.databind.node.ArrayNode.get(java.lang.Integer)
。但是Tomcat的更高版本可以很好地配合您的方法(在8.0.12和8.0.20上进行了验证)。请确保使用最新版本的Jackson:2.2或类似版本解决了
int
vs
Integer
重载的一些问题;所以像2.5.1这样的版本应该可以更好地工作。