1. @RequestMapping(value = {"save"})
  2. @ResponseBody
  3. public Result save(TBaseInterventionPlan model,String tBaseRegulateInterventions) {
  4. Result result;
  5.  
  6. List<TBaseRegulateIntervention> list = new ArrayList<TBaseRegulateIntervention>();
  7.  
  8. if (StringUtils.isNotBlank(tBaseRegulateInterventions)) {
  9. JSONArray json = JSONArray.parseArray(tBaseRegulateInterventions); // 首先把字符串转成 JSONArray 对象
  10.  
  11. if (json.size() > 0) {
  12. for (int i = 0; i < json.size(); i++) {
  13. JSONObject job = json.getJSONObject(i); // 遍历 jsonarray 数组,把每一个对象转成 json 对象
  14. TBaseRegulateIntervention t = new TBaseRegulateIntervention();
  15. t.setRegulateId(job.get("regulateId").toString());
  16. t.setContent(job.get("content").toString());
  17. list.add(t);
  18. }
  19. }
  20. }
  21.  
  22. //保存更改干预方案
  23. iTBaseRegulateInterventionService.update(model, list);
  24. result = Result.success();
  25. return result;
  26. }
  1. public void update(TBaseInterventionPlan model, List<TBaseRegulateIntervention> tBaseRegulateInterventions){
  2. List<TBaseRegulateIntervention> list = new ArrayList<TBaseRegulateIntervention>();
  3.  
  4. Map<String,String> map = new HashMap<String,String>();
  5.  
  6. if(StringUtils.isNotBlank(model.getId())){
  7. TBaseRegulateIntervention tBaseRegulateIntervention = new TBaseRegulateIntervention();
  8. tBaseRegulateIntervention.setInterventionId(model.getId());
  9. //通过干预方案id查找关联表中的方案内容
  10. list = tBaseRegulateInterventionMapper.select(tBaseRegulateIntervention);
  11.  
  12. if (CollectionUtils.isNotEmpty(list) && CollectionUtils.isNotEmpty(tBaseRegulateInterventions)){
  13. //将查出来的list保存到map
  14. for(TBaseRegulateIntervention t : tBaseRegulateInterventions){
  15. map.put(t.getRegulateId(),t.getContent());
  16. }
  17.  
  18. //将前台传进来的list和数据库的list比较,改变了就更新
  19. for(TBaseRegulateIntervention s : list){
  20.  
  21. System.out.print("++++++++++++++" + s.getRegulateId());
  22. System.out.print("***************" + s.getContent());
  23.  
  24. if(!s.getContent().equals(map.get(s.getRegulateId()))){
  25. System.out.print("-----------------" + map.get(s.getRegulateId()));
  26. s.setContent(map.get(s.getRegulateId()));
  27. tBaseRegulateInterventionMapper.updateByPrimaryKeySelective(s);
  28. }
  29. }
  30. }
  31.  
  32. //干预方案id不为空就更改干预方案
  33. iTBaseInterventionPlanService.updateByPKNotNull(model);
  34. }else {
  35. model.setCreateTime(new Date());
  36.  
  37. //干预方案id为空就保存干预方案
  38. iTBaseInterventionPlanService.save(model);
  39.  
  40. if(CollectionUtils.isNotEmpty(tBaseRegulateInterventions)){
  41. for (TBaseRegulateIntervention r : tBaseRegulateInterventions) {
  42. TBaseRegulateIntervention tBaseRegulateIntervention = new TBaseRegulateIntervention();
  43. tBaseRegulateIntervention.setRegulateId(r.getRegulateId());
  44. tBaseRegulateIntervention.setInterventionId(model.getId());
  45. tBaseRegulateIntervention.setContent(r.getContent());
  46. tBaseRegulateIntervention.setCreateTime(new Date());
  47.  
  48. this.save(tBaseRegulateIntervention);
  49. }
  50. }
  51.  
  52. }
  53. }

很久没写博客了,除了工作忙懒得写之外,还有第一篇关于FQ的博客被系统删了让我很无语,这次就记录一下JSON解析的问题,以后再遇到可以快速找到类似的解决方法。

java后台解析前端传来的json的更多相关文章

  1. 项目记事【SpringMVC-1】:后台接收前端传来的JSON,并转成对象

    背景: 最近项目中使用SpringMVC,需要从前端接收JSON格式的请求,在后端自动转成一个与JSON格式相同的对象. 由于是一个老项目,Spring的版本是3.2.7. 问题1:POST or G ...

  2. java后台对前端输入的特殊字符进行转义

    转自:http://www.cnblogs.com/yangzhilong/p/5667165.html java后台对前端输入的特殊字符进行转义 HTML: 常见的帮助类有2个:一个是spring的 ...

  3. JSON的简单使用_解析前台传来的JSON数据

    package cn.rocker.json; import org.junit.Test; import net.sf.json.JSONArray; import net.sf.json.JSON ...

  4. 你不可错过的二维码生成与解析-java后台与前端js都有

    1.二维码分类   二维条码也有许多不同的码制,就码制的编码原理而言,通常分为三种类型. 线性堆叠式二维码 编码原理: 建立在一维条码基础之上,按需要堆积成两行或多行. 图示: 矩阵式二维码 最常用编 ...

  5. Java后台 解析JSON的几个方法

    1.对象转JSON对象. public static void main(String[] args) { Domain demo = new Domain( "在线JSON校验格式化工具 ...

  6. Java如何接收前端传来的多层嵌套的复杂json串

    想看问题直接解决方式,直接拉到博文底部. Spring的controller在接收前端传参的时候如果参数使用@RequestBody标注的时候 @RequestBody 则会把前端参数转为JSON的形 ...

  7. 【Jsoup】Jsoup解析Html标签(Java后台解析)

    中文API网站(下载地址): http://www.open-open.com/jsoup/ 有时候编辑器传到后台的内容是带Html标签的,或者有时候需要形成一个完整的Html文档,也或者需要解析其中 ...

  8. c#将前端传来的Json解析成对象

    描述:因工作中需要将C#中的Json字符串转换为对象,对此记录下. 解决办法: 1.前端传过来的Json字符串,OrderAppModuleJson即前端传递到后端的Json字符串 string st ...

  9. java后端接收前端传来的复杂对象(包含List对象集合)

    最近在和安卓对接口的时候发现往java后端传数据的时候,后台对象无法接收. 说明:后台对象为 类似结构 ObjectA{ private String  a; private String b; pr ...

随机推荐

  1. Spring Boot重要内容

    首先POM配置 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="htt ...

  2. C语言求矩阵的逆

    #include "stdafx.h" #include <stdio.h> #include <stdlib.h> #include <window ...

  3. 优雅的使用列表推导式和lambda

    按照条件过滤列表中的数据 过滤出列表中以"KLL","KBB","KHH"开头的数据 1.使用列表推导式 [orderNoOrReturnN ...

  4. 第四节《Git检出》

    使用过Git的朋友们都谁知道git reset可以达到重置效果,不知道的小伙伴们可以看下上一篇博客,重置命令的一个用途就是修改引用的游标指向,实际上在执行重置命令的时候没有使用任何参数对所要重置的分支 ...

  5. 记一次php脚本memory exhausted

    表象报错如下: Error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 16651985 bytes) 出 ...

  6. python实现Content-Type类型为application/x-www-form-urlencoded发送POST请求

    周日晚上接到公司的电话需要通过新榜的接口拿下微博热搜数据,拿到接口文档看了下很简单的一个post请求,主要根据时间段来获取热搜数据. 在实际编码的过程中经常遇到header的Content-Type的 ...

  7. SQL Agent 服务无法启动

    问题现象 从阿里云上镜像过来的一台的数据库服务器,SQL Agent服务启动不了,提示服务启动后停止. 如下是系统日志和SQL Agent的日志 SQLServerAgent could not be ...

  8. CenterOS7.5中搭建wordpress

    centeros7.5中搭建wordpress 1.环境 云平台:华为云 服务器操作系统:CentOS7.: 博客部署的服务器:Apache HTTP: 数据库:mysql: 框架:wordpress ...

  9. Elasticsearch -- Head插件安装

    安装Head插件 由于head插件本质上还是一个nodejs的工程,因此需要安装node,使用npm来安装依赖的包. <1>安装Node.js 下载解压 wget https://node ...

  10. Xamarin+Prism开发详解七:Plugin开发与打包测试

    有了上章[Xamarin+Prism开发详解六:DependencyService与IPlatformInitializer的关系]的基础,现在来理解Plugin开发就简单了. 本文实例代码地址:ht ...