时间:2021-05-02
一、springMVC返回json格式数据常用的写法是使用@ResponseBody注解,在每一个方法前加上这个注解,springMVC的json解析机制会自动把返回值(Object类型的对象)转换为json格式的数据,如果返回的json对象比较复杂,每一个方法都要定义很多对象,会给开发带来很大的工作量,以下介绍一种方法,直接使用json对象设置数据并放回。
二、当遇到以下json格式数据是,如果差用@ResponseBody方式需要创建多个Java对象。
? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 { "total":2, "list":[ { "person":{"name":"eakom0","key":0}, "msg":{"cod":0,"name":"eakom0"} }, { "person":{"name":"eakom1","key":1}, "msg":{"cod":1,"name":"eakom1"} } ], "attachment":{"name":"附件","version":1} }
如果采用拼接方式,直接采用JsonObject拼接,不用创建对象返回,代码如下:
? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 @RequestMapping("returnJson") public void returnJson (HttpServletRequest request, HttpServletResponse response){ JSONObject json = new JSONObject(); json.element("total", 2); List<Map<String,JSONObject>> list=new ArrayList<Map<String,JSONObject>>(); for(int i=0;i<2;i++){ JSONObject person=new JSONObject(); person.element("name", "eakom"+i); person.element("key", i); JSONObject msg=new JSONObject(); msg.element("name", "eakom"+i); msg.element("cod", i); Map<String,JSONObject> map=new HashMap<String,JSONObject>(); map.put("person", person); map.put("msg", msg); list.add(map); } json.element("list", list); JSONObject attachment=new JSONObject(); attachment.element("name", "附件"); attachment.element("version", 1); json.element("attachment", attachment); responseDatagrid(response, json); } public void responseDatagrid(HttpServletResponse response, JSONObject jObject) { response.setContentType("application/json"); response.setHeader("Cache-Control", "no-store"); try { PrintWriter pw=response.getWriter(); pw.write(jObject.toString()); pw.flush(); } catch (IOException e) { e.printStackTrace(); } }三、用这种放返回json,在编辑代码时结构不清晰,不是特殊情况,不建议使用。
以上这篇springMVC返回复杂的json格式数据方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。
原文链接:https://blog.csdn.net/eakom/article/details/78743649
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
①在springmvc方法上添加@ResponseBody注解,springmvc会将数据转换成json并返回;@ResponseBody//指定返回json数
返回Json时格式化日期Date第一步:创建CustomObjectMapper类/***解决SpringMVC使用@ResponseBody返回json时,日
前言:对于服务器后端开发,接口返回的数据格式一般要求都是json,但是也有使用xml格式RequestBody注解对于SpringMVC,很多人会认为接口方法使
说明本项目采用maven结构,主要演示了springmvc+mybatis,controller获取数据后以json格式返回数据。项目结构包依赖与说明pom文件
前言学习了springmvc后,发现springmvc返回json数据比struts2要方便,使用@responsebody就可以了@responsebody在