1
ObjectMapper mapper = new ObjectMapper();
mapper.configure(JsonParser.Feature.ALLOW_UNQUOTED_FIELD_NAMES, true);

我在构造函数下从 intellij 收到错误和编译器警告,并且在尝试编译时说

java: no suitable method found for configure(org.codehaus.jackson.JsonParser.Feature,boolean) method


(actual argument org.codehaus.jackson.JsonParser.Feature cannot be converted to com.fasterxml.jackson.core.JsonGenerator.Feature by method invocation conversion)

此方法及其具有这些参数的构造函数也出现并且可用于智能感知。

谁能想到这种废话的原因?

感谢您的帮助,我似乎真的无法弄清楚问题所在。

-亚当

4

1 回答 1

5

如果您查看ObjectMapper的文档,您可以清楚地看到它指定了具有以下类型签名的配置方法:

configure(JsonParser.Feature f, boolean state)

但是,您似乎使用了两个不同版本的 Jackson。如您的错误中的第二行所述,一个来自 codehaus,另一个来自 fastxml。要对此进行测试或临时修复此问题,请尝试执行以下操作:

mapper.configure(com.fasterxml.jackson.core.JsonParser.Feature.ALLOW_UNQUOTED_FIELD_NAMES, true);

或者,相反,实例化另一个 ObjectMapper:

org.codehaus.jackson.map.ObjectMapper mapper = new org.codehaus.jackson.map.ObjectMapper();

编辑:要清楚,做上述之一,而不是两者!

于 2013-10-07T23:12:33.690 回答