springMVC返回复杂的json格式数据方法

  

springMVC返回json格式数据常用的写法是使用@ResponseBody注解,在每一个方法前加上这个注解,springMVC的json解析机制会自动把返回值(对象类型的对象)转换为json格式的数据,如果返回的json对象比较复杂,每一个方法都要定义很多对象,会给开发带来很大的工作量,以下介绍一种方法,直接使用json对象设置数据并放回。

  

当遇到以下json格式数据是,如果差用@ResponseBody方式需要创建多个Java对象。

        {   “总”:2   “列表”:(   {   “人”:{“名称”:“eakom0”,“关键”:0},   “味精”:{“鳕鱼”:0,“名字”:“eakom0”}   },   {   “人”:{“名称”:“eakom1”,“关键”:1},   “味精”:{“鳕鱼”:1、“名称”:“eakom1”}   }   ),   “附件”:{“名称”:“附件”、“版本”:1}   }      

 springMVC返回复杂的json格式数据方法

  

如果采用拼接方式,直接采用JsonObject拼接,不用创建对象返回,代码如下:

        @RequestMapping (“returnJson”)   公共空间returnJson (HttpServletRequest请求,HttpServletResponse响应){   JSONObject json=new JSONObject ();   json。元素(“总”,2);   List比;列表=new ArrayList在();   for (int i=0; i<2,我+ +){   JSONObject人=new JSONObject ();   的人。元素(“名字”,“eakom”+ i);   的人。元素(“关键”,我);   JSONObject味精=new JSONObject ();   味精。元素(“名字”,“eakom”+ i);   味精。元素(“鳕鱼”,我);   JSONObject> Map<字符串;地图=new HashMap<字符串,JSONObject> ();   地图。把(“人”,人);   地图。把(“味精”,味精);   list.add(地图);   }   json。元素(“名单”,名单);   JSONObject附件=new JSONObject ();   附件。元素(“名字”、“附件”);   附件。元素(“版本”,1);   json。元素(“附件”、附件);   responseDatagrid(响应,json);   }   公共空间responseDatagrid (HttpServletResponse响应,JSONObject jObject) {   application/json response.setContentType (“”);   响应。setHeader (“cache - control”,“不是商店”);   尝试{   PrintWriter pw=response.getWriter ();   pw.write (jObject.toString ());   pw.flush ();   }捕捉(IOException e) {   e.printStackTrace ();   }   }      

用这种放返回json,在编辑代码时结构不清晰,不是特殊情况,不建议使用。

  

以上这篇springMVC返回复杂的json格式数据方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

springMVC返回复杂的json格式数据方法