json使用记录
1, 使用json接收前端的数据(前端以json格式传递)
@RequestBody JSONObject jsonObject 这里的json用的是 com.alibaba.fastjson.JSON; @RequestBody主要用来接收前端传递给后端的json字符串中的数据的(请求体中的数据的);GET方式无请 求体,所以使用@RequestBody接收数据时,前端不能使用GET方式提交数据,而是用POST方式进行提交。 在后端的同一个接收方法里,@RequestBody与@RequestParam()可以同时使用,@RequestBody最多只能 有一个,而@RequestParam()可以有多个。 String roleIds = jsonObject.getString("roleIds");这样可以根据key获取数据2,将部分数据封装到实体类里面,这里以user类为例
SysUser user = JSON.parseObject(jsonObject.toJSONString(), SysUser.class); 这样可以将对应的user信息封装到user实体类里面3,当需要传递json数据格式时(字符串转json)
JSONObject jsonObject = new JSONObject(); JSONObject json = jsonObject.put("name", "tom"); 这样可以将string数据转为json对象 这是map转json JSONObject json = new JSONObject(map)4,json类型的字符串转json
JSONObject jsonObject = new JSONObject(body); String busiid = jsonObject.getString("busild");
body是要转的json形式的字符串
(5) json的链式获取数据 这里的json用的是 org.json.JSONObject;JSONObject jsonObject = new JSONObject(result1); String enterpriseName = jsonObject.getJSONObject("words_result").getJSONObject("单位名称").getString("words");
(6) 获取redis里面的数据,用对象接收
(a) redis里面的数据有@type
[图片]
这个时候要保证接收的时候你的项目的对象跟他的路径一模一样,推挤这个对象放在微服务的公共包里面
若依的官方解释如下: https://toscode.gitee.com/y_project/RuoYi-Vue/issues/I40DSU
并且这个@type的路径与你一致的时候,就不能用json来接收了,这样会报json语法错误
直接用对应的对象接收即可 例如:
(b) 获取的数据里面没得@type 那么就要用json来接收数据,然后将数据转为对应的对象即可
json转对象的方法很多,随便选一种即可