在Controller 中写了个方法:
@PostMapping("/test1")
public String test1(@RequestBody Map<String,Object> map){
//String[] imgs = (String[]) map.get("imgs"); //java.lang.ClassCastException: java.util.ArrayList cannot be cast to [Ljava.lang.String;
ArrayList<String> imgs = (ArrayList<String>) map.get("imgs");
String name = (String) map.get("name");
String str1 = "";
for (String str: imgs) {
System.err.println(str);
str1 = str1+"参数:"+str+"\n";
}
return "姓名:"+name+"\n"+str1;
}
请求内容:
{
"name": "weiwei",
"imgs": [
"abc",
"123",
"/*-"
]
}
如果我使用
String[] imgs = (String[]) map.get("imgs")
去获取传过来的数组就会报错:
java.lang.ClassCastException: java.util.ArrayList cannot be cast to [Ljava.lang.String;
说ArrayList不能转换成String[];
我JSON中的内容传的是一个数组呀,为什么变成ArrayList了?
喵喔喔
相关分类