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
[图片]image

这个时候要保证接收的时候你的项目的对象跟他的路径一模一样,推挤这个对象放在微服务的公共包里面
若依的官方解释如下: https://toscode.gitee.com/y_project/RuoYi-Vue/issues/I40DSU
并且这个@type的路径与你一致的时候,就不能用json来接收了,这样会报json语法错误
直接用对应的对象接收即可 例如:
image
(b) 获取的数据里面没得@type 那么就要用json来接收数据,然后将数据转为对应的对象即可
image
json转对象的方法很多,随便选一种即可

posted @ 2021-06-08 11:49  小猫爱哭鬼  阅读(79)  评论(0编辑  收藏  举报