JSON parse error: Cannot deserialize value of type `java.util.ArrayList<java.lang.Long>` from Object value (token `JsonToken.START_OBJECT`); nested exception is com.fasterxml.jackson.databind.exc.MismatchedInputException: Cannot deserialize value of type `java.util.ArrayList<java.lang.Long>` from Object value (token `JsonToken.START_OBJECT`)\n at [Source: (org.springframework.util.StreamUtils$NonClosingInputStream); line: 1, column: 1]
时间: 2023-10-09 20:12:52 浏览: 319
这个错误通常是因为你在解析 JSON 数据时,期望得到一个数组,但实际得到的是一个对象。你可以检查一下你的 JSON 数据格式是否正确,确保你要解析的数据是一个数组类型。
另外,你可以使用 Jackson 提供的 ObjectMapper 来解析 JSON 数据,示例代码如下:
```java
ObjectMapper objectMapper = new ObjectMapper();
List<Long> list = objectMapper.readValue(jsonString, new TypeReference<List<Long>>(){});
```
其中,jsonString 是你要解析的 JSON 字符串,List<Long> 是你要转换成的目标类型。使用 TypeReference 是为了解决 Java 泛型类型擦除的问题。
相关问题
Uncaught (in promise) Error: JSON parse error: Cannot deserialize value of type `java.util.ArrayList<java.util.Map<java.lang.String,java.lang.Object>>` from Object value (token `JsonToken.START_OBJECT`); nested exception is com.fasterxml.jackson.databind.exc.MismatchedInputException: Cannot deserialize value of type `java.util.ArrayList<java.util.Map<java.lang.String,java.lang.Object>>` from Object value (token `JsonToken.START_OBJECT`)
这个错误是由于在进行 JSON 反序列化时,期望得到的是一个 ArrayList<Map<String, Object>> 类型的数据,但实际得到的是一个 Object 类型的数据,因此无法完成反序列化操作导致的。建议检查一下数据源是否正确,并且确保在进行反序列化时使用正确的数据类型。如果问题仍然存在,可以提供更多的代码和数据细节来帮助诊断问题。
JSON parse error: Cannot deserialize instance of `java.util.ArrayList<java.lang.Object>` out of START_OBJECT token;
这个错误通常是因为 JSON 数据格式不正确导致的。在这个错误中,JSON 数据的根元素应该是一个数组,但实际上它是一个对象。因此,Java 无法将其转换为 ArrayList。
要解决这个问题,你需要检查 JSON 数据的格式是否正确,并确保根元素是一个数组。如果 JSON 数据是从另一个系统中获取的,则可能需要联系该系统的开发人员来解决此问题。
阅读全文
相关推荐

















