后台解析JSON多个实体类数据
最近想用JSON发送1次发送多个数据回后台的时候,涉及到不同的表参数。网上找的解析JSON的例子大多参数都是对象。或者JSON里面的参数都是和类的属性对应的。但是我想要传的是参数是在不同的类里面的。我又不想用参数的形式多次分别传。就想用JSON一起传然后分别解析。
难道我每一个涉及到不同类的参数都要新建一个实体类加上对应的属性才能获取解析?太扯了。。终于想到了用Map的方法进行解析。因为JSON里面也是key value形式的。对应用mao.get()获取就好了。
实例:
JSON:(简单代码演示:示意2条数据分别属于不同的实体类scenic,ticket)
{ "scenic": [ {"snId":1} ], "ticket": [ {"tkId":1} ] }
Controller:
/** * JSON解析(fastjson方式) */ @RequestMapping(value = "/testJson") @ResponseBody public void deleteScenic(@RequestBody String jsonRequest) { //获取前端传来的JSON字符串 JSONObject jsonObject = JSONObject.parseObject(jsonRequest); Map<String, Object> map =jsonObject; String scenic = map.get("scenic").toString(); String ticket = map.get("ticket ").toString(); List<Scenic> list = JSONObject.parseArray(scenic,Scenic.class); List<Ticket > list = JSONObject.parseArray(ticket ,Ticket .class); }
这样通过List分别获取到了前端传来的多个不同表的数据了。至于要用这个数据干嘛就不管了。
而且Postman是真的好用。方便的模拟请求。我就不用写一个页面发送请求了。我只是想拿到数据在做后台操作然后返回而已。
记录一下方便记忆
1.下载:百度
2.使用示意:仅仅示例传JSON格式的
选择post方式,输入请求路径,选择json请求
在body里面,选择raw,选择JSON格式。输入代码就好了。验证JSON格式的网站:https://www.json.cn/
在最下面就有结果了: