目录
1 问题描述
2 问题分析
2.1 Java
2.2 Jackson
1 问题描述
: JSON parse error: Cannot deserialize instance of `` out of START_ARRAY token; nested exception is : Cannot deserialize instance of `` out of START_ARRAY token
at [Source: (PushbackInputStream); line: 1, column: 100] (through reference chain: ["userId"])
2 问题分析
2.1 Java
1、后端接收参数类型是字符串,但是前端传参类型是数组,前端传参类型和后端参数类型不一致,导致报错。
解决办法:
前端传参类型改为字符串。
2、后端接收参数类型为List,但是前端传参类型为json,前端传参类型和后端参数类型不一致,导致报错。
解决办法:前端使用正确的数组传参格式即可。
[
"344152905613578240"
]
2.2 Jackson
1、使用readValues(JsonParser p, Class<T> valueType)对List对象反序列化,方法使用错误导致报错。
/**
* 测试jackson,反序列化
*/
@Test
public void testJacksonDeserialize() throws Exception {
List<Result> list = new ArrayList<>();
((null, 1440931124753108994L));
((null, new Date()));
((null, ()));
((null, ()));
String listStr = (list);
list = (().createParser(listStr), ).readAll();
}
解决办法:
应该使用readValues(JsonParser p, TypeReference<T> valueTypeRef)方法进行反序列化。
/**
* 测试jackson,反序列化
*/
@Test
public void testJacksonDeserialize() throws Exception {
List<Result> list = new ArrayList<>();
((null, 1440931124753108994L));
((null, new Date()));
((null, ()));
((null, ()));
String listStr = (list);
list = (().createParser(listStr), new TypeReference<List<Result>>(){}).readAll().get(0);
}
旭东怪的个人空间-旭东怪个人主页-哔哩哔哩视频哔哩哔哩旭东怪的个人空间,提供旭东怪分享的视频、音频、文章、动态、收藏等内容,关注旭东怪账号,第一时间了解UP注动态。人生低谷不可怕,可怕的是坚持不到人生转折点的那一天/484264966?spm_id_from=333.1007.0.0