后端如何接收json数组

4,852 阅读1分钟

如何接受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<Map> 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