Controller如何处理json数据

1.使用RequestBody接收json数据,并转换为对象

封装的Permission对象,用于接收json数据。
@Data

@Data
public class Permission {private Long id;private Long roleId;private String path;private List<User> users=new ArrayList<User>();private String description;

Controller测试代码如下:

@GetMapping(value ="/json,produces = "application/json;charset=UTF-8")public Permission getPermission(@RequestBody Permission permission){System.out.println(permission);return permission;}

启动项目,在postman中测试,需要在headers中填写Content-Type为application/json

然后再body中选用raw格式,然后右边选择具体的JSON格式,在下方填入传入的JSON。

Controller得到的对象为:

Permission(id=1, roleId=2, path=/dectory/, users=[User(age=16, name=张三)], description=权限)

2.以Json对象的形式接收,再使用json工具解析

开源的json处理工具有很多,如fastjson、Jackson、gson,此例中我们选用fastjson。
引入fastjson的工具包依赖:

<dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.47</version>
</dependency>

postman的请求参数不变,
使用JSON对象接收数据的controller测试代码:

@GetMapping(value ="/string",produces = "application/json;charset=UTF-8")public Permission getPermission(@RequestBody JSONObject jsonParam){System.out.println(jsonParam);Permission permission1 = jsonParam.toJavaObject(Permission.class);System.out.println(permission1);return permission1;}

此时Controller接收到的JSON对象为:

{"path":"/dectory/","roleId":2,"description":"权限","id":1,"users":[{"age":16,"name":"张三"}]}

使用String字符串接收数据的controller测试代码:

@GetMapping(value ="/string1",produces = "application/json;charset=UTF-8")public Permission getPermission(@RequestBody String jsonParam){System.out.println(jsonParam);Permission permission = JSON.parseObject(jsonParam, Permission.class);System.out.println(permission);return permission;}

此时Controller接收到的JSON对象为:

{ "id": 1, "roleId":2, "path":"/dectory/", "users":[{"age":16,"name":"张三" }], "description":"权限"}

Controller接收处理json数据相关推荐

  1. java controller json_springMVC的controller层接收前端json数据

    1.前端的操作: 对象接收json数据方式:将所需要传的数据转化为json数据,并将这些数据以post方式传到后台的controller层,然后controller层接收json数据,并且是以对象的形 ...

  2. php要每次循环两个数据库,从前台接收的json数据 2个数组,php同时插入sql数据库,循环要怎么套呢?...

    从前台接收的json数据 2个数组,php同时插入sql数据库,循环要怎么套呢? mip版  关注:215  答案:2  悬赏:30 解决时间 2021-01-18 18:47 已解决 2021-01 ...

  3. Spring MVC Controller中返回json数据中文乱码处理

    问题 在使用spring MVC Controller的过程中,发现返回到客户端的的中文出现乱码.后台Java代码: @RequestMapping(value = "/upload&quo ...

  4. jquery的ajax异步请求接收返回json数据

    jquery的ajax异步请求接收返回json数据方法设置简单,一个是服务器处理程序是返回json数据,另一种就是ajax发送设置的datatype设置为jsonp格式数据或json格式都可以.这篇文 ...

  5. Java 接收返回json数据动态取data里的值

    json数据 data: {} {"code":200,"data":{"accountNonExpired":true,"acc ...

  6. servlet接收解析json数据

    一.jar包准备 jar: fastJson / gson 二.前端代码 <!DOCTYPE html> <html> <head> <meta charse ...

  7. SpringBoot接收前端传来的json数据

    当前端传来json数据时,后端有多种方式接收 前端json数据: {id:121, //数字name:"lhj", //字符串scoreList:[ //对象{Java:95}, ...

  8. html 网络请求 json数据,写一个json格式API,http请求接收json数据

    目前比较流行的公开API 大多都是返回json格式字符串.如何创建自己的基于http请求返回json数据的api? 如下: 返回JSON字符串的API 相关包:fastjson-1.2.2.jar 方 ...

  9. 在JFinal的Controller中接收json数据

    JFinal中接收URL中的参数或者model中的参数是很方便的,但是对于web2.0的网站来说,经常会以json方式提交比较复杂的数据,比如一个查询,包含了各种过滤条件和排序分页,前端脚本可能提交的 ...

最新文章

  1. IP白名单添加了当前IP,获取access_token时依然报出错误码40164的坑
  2. Windows 安装 pytorch3d
  3. 计算机系统NSX,2017款的讴歌NSX计算机维持的“战斗机”
  4. 再谈C#中的委托和事件
  5. Web service 超过了最大请求长度错误解决
  6. 使用Jersey来创建RESTful WebService
  7. oracle的and怎么用,Oracle的BITAND的方法使用
  8. 把你的火狐浏览器改成Chrome样式
  9. 【CCCC】L2-010 排座位 (25分),,并查集+二维矩阵判定关系
  10. VsVim - Shortcut Key (快捷键)
  11. 初学者python编辑器用geany可以吗_面向初学者的Python编辑器Mu
  12. NSAT-1000 智能天线S参数自动化测试系统
  13. mosaic数据增强
  14. 打造数字化软件工厂 —— 一站式 DevOps 平台全景解读
  15. mysql 5.6 免安装版_mysql 5.6.15的免安装版 安装
  16. 【违规举报】违规举报方法步骤
  17. 苹果电脑和Windows怎么切换 苹果电脑安装双系统的利弊
  18. 雷神笔记本做java,八代酷睿+144Hz电竞屏 雷神迎来新911黑幽灵游戏本评测
  19. VMware安装centos7
  20. 医院财务会计的互联网变革

热门文章

  1. Mastering Atari, Go, Chess and Shogi by Planning with a Learned Model (MuZero)
  2. 华云数据西北总部落地西咸新区 共建国家级云计算实验室
  3. Python爬虫入门-scrapy爬取唯一图库高清壁纸
  4. DC系列漏洞靶场-渗透测试学习复现(DC-1)
  5. extjs4 ie6 ie7 ie8 显示异常解决
  6. 数据建模及数据分析浅析
  7. 【数据库专题】如何理解数据库的索引?
  8. hihocoder 1766
  9. 评论:Zeo个人睡眠教练
  10. vim安装指南(for Ubuntu and Windows)(配置C/C++和Python开发环境)