当前位置:   article > 正文

前台js数组json字符串,后台json字符串转为json数组,最后转换成集合的具体实现_前后端json set集合

前后端json set集合

前台js数组json字符串,后台json字符串转为json数组,最后转换成集合的具体实现

前台js数组json字符串

$("#savaUserSet").click(function(){
  1. var JSONArr=[];
  2. $("i[name='eventName']").each(function() {//获取所有name属性为eventName的i标签,并遍历
  3. if(!($(this).hasClass("active"))){
  4. var eventCode=$(this).attr("id");
  5. var eventName=$(this).html();
  6. var activityTypeCode=$(this).parent().prev().children("span").eq(0).attr("value");
  7. var JSONObject= {
  8. "userid":userid,
  9. "activityCode":activityTypeCode,
  10. "eventCode":eventCode
  11. };
  12. JSONArr.push(JSONObject);
  13. }
  14. });
  15. var JSONArrStr=JSON.stringify(JSONArr);//js数组转json字符串
  16. $.ajax({//ajax其实可以不用管了
  17. method : "POST",
  18. url : "../../privacyProtect/savaUserGenPrivacySet.do",
  19. dataType : "json",
  20. data:{
  21. "JSONArrStr":JSONArrStr,
  22. "userid":userid
  23. },
  24. beforeSend: function () {
  25. // 禁用按钮防止重复提交,发送前响应
  26. waitingDialog.show("正在提交数据,请稍候",{dialogSize: 'sm'});
  27. $("#savaUserSet").attr({ disabled: "disabled" });
  28. },
  29. complete: function () {//完成响应
  30. $("#savaUserSet").removeAttr("disabled");
  31. },
  32. success : function(data) {
  33. waitingDialog.hide();
  34. var msg=data.result;
  35. bootbox.alert(msg, function () {});
  36. },
  37. error : function(data) {
  38. bootbox.alert("服务器发生错误,加载数据发生异常!", function () {});
  39. }
  40. });
  41. });



后台json转为对象数组,在转换为集合

  1. @RequestMapping ("/savaUserGenPrivacySet")
  2. @ResponseBody
  3. public String savaUserGenPrivacySet (HttpServletResponse response, HttpServletRequest request)
  4. {
  5. try
  6. {
  7. request.setCharacterEncoding ("utf-8");
  8. response.setCharacterEncoding ("utf-8");
  9. }
  10. catch (UnsupportedEncodingException e)
  11. {
  12. _logger.error (e.getMessage ());
  13. }
  14. // 返回数据的容器
  15. Map <String, Object> resultMap = new HashMap <String, Object> ();
  16. Long userid = Long.parseLong (request.getParameter ("userid"));
  17. UserGenPrivacy userGenPrivacy = new UserGenPrivacy ();
  18. userGenPrivacy.setUserid (userid);
  19. String jsonArrStr = request.getParameter ("JSONArrStr");//接收到数据字符串
  20. JSONArray arr = JSONArray.fromObject (jsonArrStr);//将其解析为JSON数组
	//将json数组转为list集合,注意这里的对象属性要和你前台建的对象属性一致  
        List <UserGenPrivacy> userGenPrivacys = JSONArray.toList (arr, new UserGenPrivacy (), new JsonConfig ());  
	boolean isOk = _privacyProtectService.savaUserGenPrivacySet (userGenPrivacy, userGenPrivacys);
        String msg = "";
        if (isOk)
        {
            msg = "设置保存成功!";
        }
        else
        {
            msg = "设置保存失败!";
        }
        resultMap.put ("result", msg);
        JsonConfig config = new JsonConfig ();
        config.registerJsonValueProcessor (Date.class, new JsonDateValueProcessor ("yyyy-MM-dd"));
        return JSONObject.fromObject (resultMap, config).toString ();
    }


页面效果(具体页面)



记:

由于下面的选项是自动生成的就不贴html代码了,而且这也不是重点,就展示一下大致结构,看的了节点操作就好了;
  1. <li>
  2. <h2 class="set_title">
  3. <span class="picon_yes" name="activityTypeCode" value="1"></span>
  4. 允许查看门诊过程的相关内容:
  5. <span class="set_icon"></span>
  6. <span id="mz_flag" class="opcl_icon zhankai"></span>
  7. </h2>
  8. <div class="jmcheckBox" id="mz">
  9. <i class="active" name="eventName" id="D008" value="D008">门诊病历</i>
  10. <i class="active" name="eventName" id="H152" value="H152">门诊处方</i>
  11. </div>
  12. </li>
因为我这有activityCode的属性和enventCode的属性要组合在一起,所以单独传一串字符串过去再分割字符串不是说不行,但我觉得很傻气,所以就用了这种方式:
先在前台创建js数组转为json字符串,传到后台,后台再把json解析为JSON数组,最后再转为List集合;
这时我已经获得了该对象集合,之后只要遍历集合....还不能完成我的操作....我还需要清空以前的用户数据,再将这次数据保存;
这就涉及到事物控制了,这时我下一次笔记的内容了.

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/509656
推荐阅读
相关标签
  

闽ICP备14008679号