SpringMVC框架下,先对json格式进行封装,然后再返回json串
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 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 |
package com.eduoinfo.finances.bank.core.entity; import java.io.Serializable; /** * Response JsonResult for RESTful <br> * 封装 返回Json 格式数据 * * @author StarZou * @since 2014年5月26日 上午10:51:46 **/ public class JsonResult<T> implements Serializable { private static final long serialVersionUID = -4699713095477151086L; /** * 数据 */ private T data; /** * 信息 */ private String message; /** * 是否成功 */ private boolean success; public Object getData() { return data; } public void setData(T data) { this.data = data; } public String getMessage() { return message; } public void setMessage(String message) { this.message = message; } public boolean isSuccess() { return success; } public void setSuccess(boolean success) { this.success = success; } public JsonResult() { super(); } public JsonResult(T data, String message, boolean success) { this.data = data; this.message = message; this.success = success; } public JsonResult(T data, String message) { this.data = data; this.message = message; this.success = true; } public JsonResult(T data) { this.data = data; this.success = true; } } |
在Spring Controller 中使用
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 |
/** * 测试 spring mvc 返回 json , 封装 Json 格式数据, 减少 类型转换 * * @return */ @RequestMapping("/json") @ResponseBody public JsonResult<Object[]> returnJson() { // 实际情况 下 String,可能是一个 自定义的Java 类,比如 User , 通常是在 数据库查询 List<String> data = new ArrayList<>(); Set<String> data2 = new HashSet<>(); Map<String, String> data3 = new HashMap<>(); int i = 0; while (i < 10) { String value = "data-" + (++i); data.add(value); data2.add(value); data3.put(value, value); } // 组装 查询的 结果 , 添加消息 和 是否成功的标识 JsonResult<List<String>> jsonResult = new JsonResult<>(data, "This is a message.", true); JsonResult<Set<String>> jsonResult2 = new JsonResult<>(data2, "This is a message.", true); JsonResult<Map<String, String>> jsonResult3 = new JsonResult<>(data3, "This is a message.", true); // 复杂一点的 封装 Object[] objs = { jsonResult, jsonResult2, jsonResult3 }; JsonResult<Object[]> jsonObj = new JsonResult<Object[]>(objs); return jsonObj; } |