后台用JSONObject接收前端传过来的字符串数组,并转成集合(JSONObject---JSONArray---List)


前端传递数据:

handleSubmit() {this.dialogVisible = false;
        const param = { 'bidSampleImgList': this.fileList, 'id': this.keyId };
        this.update(param)
      },

前端传递字符串到后台,后台通过JSONObject进行接收,注意不是JsonObject.

将字符串数组转换成List集合分两步

通过JSONObject的getJSONArray方法将字符串数组转换成JSONArray,再用JSONArray的toJavaList方法的将JSONArray转换成List集合

注意:将JSONArray转化成List集合时,toJavaList方法的参数是实体类的class类型,而不是List<AttachFile>

@PostMapping(value = "edit")
    public Result editIn(@RequestBody JSONObject jsonObject){
        int id = jsonObject.getIntValue("id");
        JSONArray jsonArray = jsonObject.getJSONArray("bidSampleImgList");
        List<AttachFile> attachFiles = jsonArray.toJavaList(AttachFile.class);
        In in = new In();
        in.setBidSampleImgList(attachFiles);
        in.setId(id);
        return inService.editIn(in);
    }

 总结:如果前端要传递一个List到后台,将List放在JSON中传递,后台用JSONObject接收,这是基本的思路


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM