content: package com.alibaba.json.bvtVO;
  
  import java.io.Serializable;
  import java.util.ArrayList;
  import java.util.HashMap;
  import java.util.List;
  import java.util.Map;
  
  import com.alibaba.fastjson.JSON;
  
  /**
   * 交易消息体
   */
  @SuppressWarnings("rawtypes")
  public class DataTransaction implements Serializable {
  
      private static final long serialVersionUID = 1L;
  
      private Head              head             = new Head();
  
      private Body              body             = new Body();
  
      public DataTransaction(){
  
      }
  
      /**
       * Head
       **/
      public static class Head {
  
          private String appid;
  
          private String transcode;
  
          private String seqno;
  
          private User   user = new User();
  
          private Ret    ret  = new Ret();
  
          /**
           * 用户信息
           */
          public static class User {
  
              private String id;
  
              public String getId() {
                  return id;
              }
  
              public void setId(String id) {
                  this.id = id;
              }
          }
  
          /**
           * 处理结果
           */
          public static class Ret {
  
              private String code;
              private String msg;
  
              public String getCode() {
                  return code;
              }
  
              public void setCode(String code) {
                  this.code = code;
              }
  
              public String getMsg() {
                  return msg;
              }
  
              public void setMsg(String msg) {
                  this.msg = msg;
              }
          }
  
          public String getAppid() {
              return appid;
          }
  
          public void setAppid(String appid) {
              this.appid = appid;
          }
  
          public String getTranscode() {
              return transcode;
          }
  
          public void setTranscode(String transcode) {
              this.transcode = transcode;
          }
  
          public String getSeqno() {
              return seqno;
          }
  
          public void setSeqno(String seqno) {
              this.seqno = seqno;
          }
  
          public User getUser() {
              return user;
          }
  
          public void setUser(User user) {
              this.user = user;
          }
  
          public Ret getRet() {
              return ret;
          }
  
          public void setRet(Ret ret) {
              this.ret = ret;
          }
  
          public void setRetCode(String code) {
              this.ret.code = code;
          }
  
          public void setRetMsg(String msg) {
              this.ret.msg = msg;
          }
      }
  
      /**
       * Body
       */
      public static class Body {
  
          private Param   param = new Param();
  
          private DataSet dataset;
  
          public Body(){
  
          }
  
          /**
           * 参数
           */
          public static class Param {
  
              private Limit               limit = new Limit();
  
              private Map<String, String> form  = new HashMap<String, String>();
  
              /**
               * 分页信息
               */
              public static class Limit {
  
                  private String start;
                  private String size;
                  private String total;
                  private String orderBy;
  
                  public String getStart() {
                      return start;
                  }
  
                  public void setStart(String start) {
                      this.start = start;
                  }
  
                  public String getSize() {
                      return size;
                  }
  
                  public void setSize(String size) {
                      this.size = size;
                  }
  
                  public String getTotal() {
                      return total;
                  }
  
                  public void setTotal(String total) {
                      this.total = total;
                  }
  
                  public String getOrderBy() {
                      return orderBy;
                  }
  
                  public void setOrderBy(String orderBy) {
                      this.orderBy = orderBy;
                  }
              }
  
              public Limit getLimit() {
                  return limit;
              }
  
              public void setLimit(Limit limit) {
                  this.limit = limit;
              }
  
              public Map<String, String> getForm() {
                  return form;
              }
  
              public void setForm(Map<String, String> form) {
                  this.form = form;
              }
          }
  
          /**
           * 数据集
           */
          public static class DataSet {
  
              private String total;
  
              private List   rows = new ArrayList();
  
              public String getTotal() {
                  return total;
              }
  
              public void setTotal(String total) {
                  this.total = total;
              }
  
              public List getRows() {
                  return rows;
              }
  
              public void setRows(List rows) {
                  this.rows = rows;
              }
          }
  
          public Param getParam() {
              return param;
          }
  
          public void setParam(Param param) {
              this.param = param;
          }
  
          public DataSet getDataset() {
              return dataset;
          }
  
          public void setDataset(DataSet dataset) {
              this.dataset = dataset;
          }
  
          public void setDataset(String total, List rows) {
              DataSet ds = new DataSet();
              ds.setTotal(total);
              ds.setRows(rows);
              this.setDataset(ds);
          }
      }
  
      public Head getHead() {
          return head;
      }
  
      public Body getBody() {
          return body;
      }
  
      public void setRetMsgCode(String code, String msg) {
          this.head.setRetCode(code);
          this.head.setRetMsg(msg);
      }
  
      public void setRetMsgCode(String code) {
          this.setRetMsgCode(code, null);
      }
  
      public void setDataSet(String total, List rows) {
          this.body.setDataset(total, rows);
      }
  
      public static DataTransaction fromJSON(String jsonString) {
          return JSON.parseObject(jsonString, DataTransaction.class);
      }
  
      public String toJSON() {
          return JSON.toJSONString(this);
      }
  
      public static void main(String args[]) {
          DataTransaction dt = new DataTransaction();
  
          List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
  
          Map<String, Object> m = new HashMap<String, Object>();
          m.put("name", "tom");
          m.put("sex", "m");
          list.add(m);
  
          dt.setDataSet("1000", list);
          dt.setRetMsgCode("1", "ok");
          dt.getHead().setAppid("back");
          dt.getHead().setSeqno("201010");
          dt.getHead().getUser().setId("root");
  
          Map<String, String> m2 = new HashMap<String, String>();
          m2.put("name1", "tom");
          m2.put("name2", "tom");
          m2.put("name3", "tom");
  
          dt.getBody().getParam().setForm(m2);
  
          System.out.println(dt.toJSON());
  
          DataTransaction dt2 = DataTransaction.fromJSON(dt.toJSON());
          System.out.println(dt2.toJSON());
      }
  }
  