关于接口接收一个集合作为参数后,测试时的异常
2024-01-08 19:10:37
情景再现:
接口
@PostMapping("/aa")
public String setDoubtList(@RequestBody List<user> userList){
//接收一个list<user>,
return userService.setUserList(userlist);
}
测试接口时传入body内容
{
"user":[
{
"name":"aa",
"sex":"男",
"age":"14"
},
{
"name":"ba",
"sex":"女",
"age":"24"
},
{
"name":"za",
"sex":"男",
"age":"13"
},
]
}
报错
JSON parse error: Cannot deserialize value of type `java.util.ArrayList<com.*****>` from Object value (token `JsonToken.START_OBJECT`); nested exception is com.fasterxml.jackson.databind.exc.MismatchedInputException: Cannot deserialize value of type `java.util.ArrayList<com.****>` from Object value (token `JsonToken.START_OBJECT`)
JSON parse error通常表示JSON格式的数据无法被正确解析。这可能是由于以下原因之一:
- JSON格式不正确:如果JSON数据格式不正确,例如缺少引号、括号或逗号等,那么解析器就无法正确解析数据。
- JSON数据类型不正确:如果JSON数据类型不正确,例如尝试将一个字符串转换为数字或布尔值,那么解析器就无法正确解析数据。
- JSON数据嵌套不正确:如果JSON数据嵌套不正确,例如尝试将一个对象放在另一个对象的属性值中,那么解析器就无法正确解析数据。
- JSON数据太大:如果JSON数据太大,超出了解析器的最大限制,那么解析器就无法正确解析数据。
报错原因
- json和映射的user中的数据类型不一致
如:age可能是int型,json就要这样写? ? ? ? "age":13? ? ? ? 没有引号了
double类型也是这样,要注意不能用科学计数的方式写 - 传入参数的json格式不对
正确的,泛型设置好,会自己放进去,不用在json中体现[ { "name":"aa", "sex":"男", "age":"14" }, { "name":"ba", "sex":"女", "age":"24" }, { "name":"za", "sex":"男", "age":"13" }, ]
文章来源:https://blog.csdn.net/missmoonlight/article/details/135453819
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!