在Java中有时候需要传list,这时候可以传字符串,后台接收字符串后转换成对应的对象list,具体实现如下:

方法一

1.在controller中:

@PostMapping("/api/classes/add")public Result classesAdd(Integer lineId, String params,String param){try {List<Classes> classesList = JSONArray.parseArray(params, Classes.class);List<Classes> classes = JSONArray.parseArray(param, Classes.class);//根据线路id查询线路信息Line line = lineService.getDao().findById(lineId);if(null==line){return Result.fail(902,"该班次对应的线路不存在!");}//创建班次对象并保存到数据库for (Classes s:classesList) {s.setLine(line);classesService.getDao().save(s);}for (Classes s:classes) {s.setLine(line);classesService.getDao().save(s);}return Result.ok("新增班次成功");}catch (Exception e){e.printStackTrace();return Result.fail(901,"新增班次失败");}}

2.使用postman测试接口,如下:

方法二

1.在controller中代码如下:

@PostMapping("/api/classes/add")public Result classesAdd(String params,HttpServletRequest request){try {JSONObject jsonObject = JSONObject.parseObject(params);Integer lineId = (Integer) jsonObject.get("lineId");JSONArray obj = (JSONArray) jsonObject.get("params");JSONArray param = (JSONArray) jsonObject.get("param");//获取当前操作用户idString userid = tokenService.valid(request.getHeader("token"));//根据线路id查询线路信息Line line = lineService.getDao().findById(lineId);if(null==line){return Result.fail(902,"该班次对应的线路不存在!");}//创建班次对象并保存到数据库for (Object s:obj) {JSONObject object = (JSONObject) JSON.toJSON(s);Classes build = Classes.builder().line(line).seatNum((Integer) object.get("seatNum")).isOrder(object.get("isOrder").equals(0) ? false : true).direction((String) object.get("direction")).firstTime((String) object.get("firstTime")).laterTime((String) object.get("laterTime")).build();classesService.getDao().save(build);}for (Object s:param) {JSONObject object = (JSONObject) JSON.toJSON(s);Classes build = Classes.builder().line(line).seatNum((Integer) object.get("seatNum")).isOrder(object.get("isOrder").equals(0) ? false : true).direction((String) object.get("direction")).firstTime((String) object.get("firstTime")).laterTime((String) object.get("laterTime")).build();classesService.getDao().save(build);}return Result.ok("新增班次成功");}catch (Exception e){e.printStackTrace();return Result.fail(901,"新增班次失败");}}

2.使用postman测试接口,结果如下:

上图中params的完整数据如下:

{"lineId":1,"params":[{"firstTime":"09:41","laterTime":"09:42","seatNum":1,"isOrder":0,"direction":"forward"}],"param":[{"firstTime":"09:41","laterTime":"09:42","seatNum":1,"isOrder":0,"direction":"reverse"}]}

java实现接收字符串对象并在后台代码中转成list对象相关推荐

  1. 利用viewbag把数据对象传到前端并转换成json对象,及解决json字符串被转义问题

    利用viewbag把数据对象传到前端并转换成json对象,及解决json字符串被转义问题 参考文章: (1)利用viewbag把数据对象传到前端并转换成json对象,及解决json字符串被转义问题 ( ...

  2. java Excel导入、自适应版本、将Excel转成Listmap对象

    转载:http://blog.csdn.net/u012662357/article/details/58593020 最近在web开发中遇到excel批量导入,在网上搜了下很少有将excel直接转成 ...

  3. [转载] java常量池-字符串常量池、class常量池和运行时常量池

    参考链接: 如何在Java中初始化和比较字符串 原文链接:http://tangxman.github.io/2015/07/27/the-difference-of-java-string-pool ...

  4. java中的字符串常量池_java字符串常量池

    字符串常量池SCP jdk1.6是放在永久代(8中叫方法区或叫元空间)中; jdk1.7+中,字符串常量池放入了堆中,注意运行时常量依然存放在方法区,例如,Integer a = 40:Java在编译 ...

  5. 字符串转换成json对象的方式

    前言 使用ajax的开发项目过程中,经常需要将json格式的字符串返回到前端,前端解析成js对象(JSON ). 欲将以下字符串转为json对象格式: var str = '{name:"j ...

  6. java比较日期字符串大小写_java 字符串操作和日期操作

    一.字符串操作 创建字符串 String s2 = new String("Hello World"); String s1 = "Hello World"; ...

  7. java web请求字符串处理_java web工作常用技能篇(三)-封装复杂请求对象2

    前言:在各类网站论坛上,没有找到与工作比较贴切的技能,所以特此写一些对刚步入工作或者工作中没有重视的技能与问题,各位大牛请及时关闭文章. ps1:文中所有标点都是英文的,看官请不要在意.为了便于平时敲 ...

  8. android 接收js对象数组,java怎么接收js 数组对象数组对象

    java怎么接收js 数组对象数组对象 [2021-02-04 22:25:34]  简介: php数组转js数组对象的方法:首先获取[$arr]数组:然后使用函数[json_encode()]将数组 ...

  9. java如果把字符串转成对象_Java中的重复对象:不仅仅是字符串

    当Java应用程序消耗大量内存时,它本身就会出现问题,并可能导致GC压力增加和GC暂停时间过长.在我之前的一篇文章中,我讨论了Java中常见的内存浪费源:重复字符串.两个 java.lang.Stri ...

最新文章

  1. 谷歌、苹果等大佬亲自戳穿自动驾驶完美童话,技术、场景、安全牢笼实难突围!...
  2. Hive Lateral View、视图、索引
  3. Spring Cloud【Finchley】-15 查看Zuul的路由端点和过滤器
  4. OpenCV查找边缘
  5. 日期时间类,按特定格式显示日期时间
  6. ArcGIS特殊标注效果的简单实现
  7. python爬取分页数据
  8. 计算机的发展经历阶段应用领域,计算机的发展阶段
  9. 【ArcGIS Pro微课1000例】0008:ArcGIS Pro加载不同来源的在线底图数据
  10. python组合数据类型实验_实验七 组合数据类型
  11. hadoop服务器系统设置win10,win10系统hadoop安装配置的设置技巧
  12. ZH奶酪:如何在Ubuntu上安装Java/管理多个JAVA/设置JAVA_HOME
  13. 数学建模十大经典算法和常用算法
  14. android 微积分计算器,不到1M的良心之作 连微积分都能算的计算器APP
  15. 【Java 8 新特性】Java LocalDate 详解
  16. ModbusTCP通讯协议学习及实践(台达三菱PLC通讯)
  17. Python 根据身份证号判断所属省份,生日与性别
  18. Python3学习(34)--简单网页内容抓取(爬虫入门一)
  19. jQuery DOM操作
  20. 史上最强Js流程控制三大结构

热门文章

  1. 解决KMP看高清电影背景声大说话声小问题
  2. InvokeWebServiceActivity
  3. linux修复uefi启动文件,uefi-gpt-linux修复grub rescue
  4. python中常用库_常用的python库(不断更新)
  5. 计算机中减法英语,计算机中的减法运算
  6. 简述力法计算弹性固定无铰拱的原理_《隧道结构体系设计》PPT课件.ppt
  7. python获取输入框内容长度_python3 tkinter 获取输入字符串长度
  8. IDEA好用的Servlet模板
  9. node sqlite 插入数据_使用 Sequelize 操作 Sqlite3 数据库
  10. 八、Flume的构架,安装和基本使用