【发布时间】:2018-06-27 12:36:42
【问题描述】:
前言:
API 方法 (
import org.codehaus.jackson.map.ObjectMapper;)@SuppressWarnings("unchecked") public <T> T readValue(JsonParser jp, Class<T> valueType) throws IOException, JsonParseException, JsonMappingException { // !!! TODO // _setupClassLoaderForDeserialization(valueType); return (T) _readValue(copyDeserializationConfig(), jp, _typeFactory.constructType(valueType)); }
ObjectMapper 类具有上述readValue 方法。
我的自定义类方法(如下)运行良好,没有错误,但我看到代码行 mapper.readValue(UserJson, in IntelliJ Idea... 出现“红线”
private User serializeFromJsonString(String UserJson) throws Exception {
ObjectMapper mapper = new ObjectMapper();
return mapper.readValue(UserJson, User.class);
}
以照片为例:
【问题讨论】:
-
所以我假设你的代码在命令行上编译得很好?您可以尝试在 IntelliJ 中使用干净的缓存进行重建(文件 -> 使缓存无效)。
-
您的调用采用
readValue(String, Class<T>)方法签名。所以它与您问题中的readValue不匹配。ObjectCodec类可以被ObjectMapper间接引用。也许你错过了一个依赖。你是如何指定你的杰克逊依赖的? -
感谢你们两位帮助我。 @SteffenHarbich,抱歉我在这里提出了错误的 API 方法,这是实际方法,它接受 String.. @SuppressWarnings("unchecked") public
T readValue(String content, Class valueType) throws IOException, JsonParseException , JsonMappingException { // !!! TODO // _setupClassLoaderForDeserialization(valueType);返回 (T) _readMapAndClose(_jsonFactory.createJsonParser(content), _typeFactory.constructType(valueType)); }
标签: json intellij-idea java-8 objectmapper