一、springMVC返回json格式数据常用的写法是使用@ResponseBody注解,在每一个方法前加上这个注解,springMVC的json解析机制会自动把返回值(Object类型的对象)转换为json格式的数据,如果返回的json对象比较复杂,每一个方法都要定义很多对象,会给开发带来很大的工作量,以下介绍一种方法,直接使用json对象设置数据并放回。
二、当遇到以下json格式数据是,如果差用@ResponseBody方式需要创建多个Java对象。
{ "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拼接,不用创建对象返回,代码如下:
@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格式数据方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持小牛知识库。
本文向大家介绍Springmvc如何返回xml及json格式数据,包括了Springmvc如何返回xml及json格式数据的使用技巧和注意事项,需要的朋友参考一下 问:@ResponseBody注解怎么指定返回xml 还是json 答:@RequestMapping 的produces 属性指定 produces = "application/xml" 或者 produces = "applica
本文向大家介绍Java 实现Redis存储复杂json格式数据并返回给前端,包括了Java 实现Redis存储复杂json格式数据并返回给前端的使用技巧和注意事项,需要的朋友参考一下 问题背景 在Java Web项目中,经常需要前端请求数据,后台从数据库中查询并计算最后返回json格式数据给前端。 而每次请求都需要计算一次可能比较浪费时间,这时我们可以将计算好的结果保存在redis中,下次请求时先
本文向大家介绍JS 对java返回的json格式的数据处理方法,包括了JS 对java返回的json格式的数据处理方法的使用技巧和注意事项,需要的朋友参考一下 如下所示: 以上这篇JS 对java返回的json格式的数据处理方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持呐喊教程。
本文向大家介绍django通过ajax发起请求返回JSON格式数据的方法,包括了django通过ajax发起请求返回JSON格式数据的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了django通过ajax发起请求返回JSON格式数据的方法。分享给大家供大家参考。具体实现方法如下: 这是后台处理的: 这是AJAX部分: URL的配置是: 希望本文所述对大家的Python程序设计有所帮助
本文向大家介绍nginx返回json或者文本格式的方法,包括了nginx返回json或者文本格式的方法的使用技巧和注意事项,需要的朋友参考一下 用nginx怎么返回json格式或者文本格式的数据?其实很简单,如下代码: 1、返回文本格式 2、返回json格式 3、也可以简单的根据请求的URL返回不同的字符串 4、返回的字符集设置,默认是以GBK字符集返回 注意:default_type必须要添加,
本文向大家介绍js将json格式的对象拼接成复杂的url参数方法,包括了js将json格式的对象拼接成复杂的url参数方法的使用技巧和注意事项,需要的朋友参考一下 //调用: var obj={name:'tom','class':{className:'class1'},classMates:[{name:'lily'}]}; parseParam(obj); 结果:"name=tom&cl