JSONArray与list互转

这个在开发中经常用到

response.setContentType("application/json;charset=utf-8");
        PrintWriter out = response.getWriter();
        List<Department> department =  departmentService.listDeptByGradeId(id);
        JSONArray jsonStr = JSONArray.fromObject(department);
        out.println(jsonStr.toString());
        out.close();

//根据年级编号查询院系ajax
function findByGradeId(id,path){
        
        var dept = document.getElementById("dept");
        dept.length=1;
        if(id==""){
            alert("请选择年级~!");
        }else{
            $.get(path+"/admin/department/ajaxgradeid",{"id":id},function(data){
                var redata = eval(data);
                for(var i=0;i<redata.length;i++){
                    $(dept).append("<option value='"+redata[i].departmentid+"'>"+redata[i].bumen.bumenname+"</option>");
                }
            });
        }
    }

form 表单与后台jsonobject

// 保存主表表单
function saveForm() {
    var bean = $('#AddForm').serializeArray();
    var r = $('#AddForm').form('validate');
    if (r) {
        var beanJson = convertToJson(bean);

        var beanJsonString = JSON.stringify(beanJson);
        $.post(baseurl + 'platform/applicationLiaAction/save.json', {
            jsonString : beanJsonString
        }, function(status) {
            if (status.flag == "success") {
                $.messager.show({
                    title : '提示',
                    msg : "保存成功!"
                });
                loadApplicationAdd();

            } else {
                $.messager.show({
                    title : '提示',
                    msg : "保存失败!"
                });
            }
            dataGrid.load();

        });

    }

};
//前端的contojson

function SFconvertToJson(formValues) {
    var jsonObject = {};
    for ( var i = 0; i < formValues.length; i++) {
        var formValue = formValues[i];
        var name = formValue.name;
        var value = formValue.value;
        if (jsonObject[name]) {
            if (name.indexOf('.') < 0) {
                jsonObject[name] = jsonObject[name] + "," + value;
                continue;
            }
        } else {
            if (name.indexOf('.') < 0) {
                jsonObject[name] = value;
                continue;
            } else {
                var simpleNames = name.split('.');
                var obj = jsonObject;
                for ( var j = 0; j < simpleNames.length - 1; j++) {
                    var simpleName = simpleNames[j];
                    if (simpleName.indexOf('[') < 0) {
                        if (obj[simpleName] == null) {
                            obj[simpleName] = {};
                        }
                        obj = obj[simpleName];
                    } else {
                        var arrNames = simpleName.split('[');
                        var arrName = arrNames[0];
                        var arrIndex = parseInt(arrNames[1]);
                        if (obj[arrName] == null) {
                            obj[arrName] = [];
                        }
                        obj = obj[arrName];
                        multiChooseArray = jsonObject[arrName];
                        if (obj[arrIndex] == null) {
                            obj[arrIndex] = {};
                        }
                        obj = obj[arrIndex];
                    }
                }
                if (obj[simpleNames[simpleNames.length - 1]]) {
                    var temp = obj[simpleNames[simpleNames.length - 1]];
                    obj[simpleNames[simpleNames.length - 1]] = temp;
                } else {
                    obj[simpleNames[simpleNames.length - 1]] = value;
                }
            }
        }
    }
    return jsonObject;
}

@RequestMapping(value = "/save")
    public ModelAndView save(HttpServletResponse response, HttpServletRequest request) throws Exception {
        String jsonString = request.getParameter("jsonString");

        JSONObject jsonObject = JSONObject.fromObject(jsonString);
        JSONUtils.getMorpherRegistry().registerMorpher(
                new DateMorpher(new String[] { "yyyy-MM-dd HH:mm:ss", "yyyy-MM-dd", "yyyy-MM-dd't'HH:mm:ss" }, new Date()));

        ApplicationInfo bean = (ApplicationInfo) JSONObject.toBean(jsonObject, ApplicationInfo.class);
        ApplicationInfo hasBean = this.applicationInfoService.getBeanById(bean.getId());
        if (hasBean != null) {
            ModelAndView mav = new ModelAndView();
            mav.addObject("flag", OpResult.success);
            mav.setView(null);
            return mav;
        }

        bean.setStatus("10");
        this.applicationInfoService.insertBean(bean);

        ModelAndView mav = new ModelAndView();
        mav.addObject("flag", OpResult.success);
        mav.setView(null);
        return mav;
    }

原文地址:https://www.cnblogs.com/chizizhixin/p/5317259.html