java实现接收字符串对象并在后台代码中转成list对象
生活随笔
收集整理的這篇文章主要介紹了
java实现接收字符串对象并在后台代码中转成list对象
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
在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对象的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mybatis-plus设置查询返回的类
- 下一篇: jpa报错No property fou