【发布时间】:2014-09-20 09:18:55
【问题描述】:
我想知道为什么没有确定的方式来使用Jackson。我只想解析JSON字符串:
ObjectMapper mapper = new ObjectMapper();
Customer[] myObjects = mapper.readValue(file, Customer[].class);
但我真的很困惑我应该导入什么来做到这一点。根据这个link,我尝试导入mapper-asl.jar。但我得到这个编译错误:
The type org.codehaus.jackson.JsonParser cannot be resolved. It is indirectly referenced from required .class files
然后我尝试导入jackson-core-2.4.2 和jackson-databind-2.4.2。所以没有编译错误,但我得到了这个运行时异常(在映射器定义行中):
java.lang.NoClassDefFoundError: com.fasterxml.jackson.annotation.JsonAutoDetect
请指导我应该导入什么来使用Jackson。谢谢
【问题讨论】:
-
正如其他人指出的那样,您有一些版本混淆:
org.codehaus.jackson用于 Jackson 1.x,com.fasterxml.jackson用于 2.x。而你拥有的其他东西取决于 Jackson 1.x(可能是 1.9、Hadoop、DropWizard 或 Jersey?) -
没有问题解决了。只是我应该添加
jackson-annotation库。谢谢。 -
好的,很高兴解决了!
-
添加jackson-annotation后,我们需要导入任何类文件吗?