1. package com.eduoinfo.finances.bank.core.entity;  
  2.   
  3. import java.io.Serializable;  
  4.   
  5. /** 
  6.  * Response JsonResult for RESTful <br> 
  7.  * 封装 返回Json 格式数据 
  8.  *  
  9.  * @author StarZou 
  10.  * @since 2014年5月26日 上午10:51:46 
  11.  **/  
  12.   
  13. public class JsonResult<T> implements Serializable {  
  14.     private static final long serialVersionUID = -4699713095477151086L;  
  15.   
  16.     /** 
  17.      * 数据 
  18.      */  
  19.     private T data;  
  20.     /** 
  21.      * 信息 
  22.      */  
  23.     private String message;  
  24.     /** 
  25.      * 是否成功 
  26.      */  
  27.     private boolean success;  
  28.   
  29.     public Object getData() {  
  30.         return data;  
  31.     }  
  32.   
  33.     public void setData(T data) {  
  34.         this.data = data;  
  35.     }  
  36.   
  37.     public String getMessage() {  
  38.         return message;  
  39.     }  
  40.   
  41.     public void setMessage(String message) {  
  42.         this.message = message;  
  43.     }  
  44.   
  45.     public boolean isSuccess() {  
  46.         return success;  
  47.     }  
  48.   
  49.     public void setSuccess(boolean success) {  
  50.         this.success = success;  
  51.     }  
  52.   
  53.     public JsonResult() {  
  54.         super();  
  55.     }  
  56.   
  57.     public JsonResult(T data, String message, boolean success) {  
  58.         this.data = data;  
  59.         this.message = message;  
  60.         this.success = success;  
  61.     }  
  62.   
  63.     public JsonResult(T data, String message) {  
  64.         this.data = data;  
  65.         this.message = message;  
  66.         this.success = true;  
  67.     }  
  68.   
  69.     public JsonResult(T data) {  
  70.         this.data = data;  
  71.         this.success = true;  
  72.     }  
  73. }  

在spring Controller 中使用


 
  1. /** 
  2.   * 测试 spring mvc 返回 json , 封装 Json 格式数据, 减少 类型转换 
  3.   *  
  4.   * @return 
  5.   */  
  6.  @RequestMapping("/json")  
  7.  @ResponseBody  
  8.  public JsonResult<Object[]> returnJson() {  
  9.      // 实际情况 下 String,可能是一个 自定义的Java 类,比如 User , 通常是在 数据库查询  
  10.      List<String> data = new ArrayList<>();  
  11.      Set<String> data2 = new HashSet<>();  
  12.      Map<String, String> data3 = new HashMap<>();  
  13.   
  14.      int i = 0;  
  15.      while (i < 10) {  
  16.          String value = "data-" + (++i);  
  17.          data.add(value);  
  18.          data2.add(value);  
  19.          data3.put(value, value);  
  20.      }  
  21.   
  22.      // 组装 查询的 结果 , 添加消息 和 是否成功的标识  
  23.      JsonResult<List<String>> jsonResult = new JsonResult<>(data, "This is a message.", true);  
  24.      JsonResult<Set<String>> jsonResult2 = new JsonResult<>(data2, "This is a message.", true);  
  25.      JsonResult<Map<String, String>> jsonResult3 = new JsonResult<>(data3, "This is a message.", true);  
  26.   
  27.      // 复杂一点的 封装  
  28.      Object[] objs = { jsonResult, jsonResult2, jsonResult3 };  
  29.      JsonResult<Object[]> jsonObj = new JsonResult<Object[]>(objs);  
  30.      return jsonObj;  
  31.  }  
posted on 2014-11-22 20:30  小光zfg  阅读(252)  评论(0)    收藏  举报