如何接受json数组
这里用到了Hutool的java工具类库,这是类库地址:www.hutool.cn/docs/#/,有需要的可以自己参考文档集成到自己的项目里,比较方便,种类也比较齐全。
使用Json工具类
上周遇到的json数组,类似于[{id:1,number:3},{id:1,number:3},]的格式,首先,遇到这个问题的时候,我只想到了字符串的分割,处理起来比较麻烦,而且还没有成功,后来在大神的指导下先把json数组转换成ArrayList或者Map的形式,顺带学习了一下hutool这个工具类库中的JSON工具类,类库地址已经在上边给出了,这里我们直接来使用这个工具类
首先,我这里是先将这个json数组转换成 ArrayList的形式 泛型选择的是Map 先看一下测试,顺带测试了一下log的日志级别
@Test
public void testJsonArray(){
String name = "[{id:1,name:3},{id:2,name:4}]";
JSONArray jsonArray = JSONUtil.parseArray(name);//将json转化为数组
ArrayList arrayList = jsonArray.toList(Map.class);
Map map = arrayList.get(0);
System.out.println(map);
System.out.println(map.get("id"));
log.trace("1111111");
log.debug("222222222");
log.info("33333333333333");
log.warn("4444444444");
log.error("5555555555");
}
复制代码
其中JSONUtil.parseArray(name)这个方法是将json数组转换程array数组的方法,工具类已经帮我们做了处理。
在后端我们将数组直接进行循环处理,这个就可以拿到数组中具体的参数,比较方便,再看一下后端方法如何进行的参数方法的接收
@RequestMapping(value = "/pushPart",method = RequestMethod.POST)
public String pushPart(@RequestParam("numbers") String numbers, @RequestBody JSONObject num){
int i = weixiuService.pushPart(numbers,num);
if (i>0){
return "SUCCESS";
}else {
return "ERROR";
}
}
复制代码
后端接收json数组的注解 @RequestBody