json對象的封裝與解析

c9cv 10年前發布 | 9K 次閱讀 5.2.1版本發布

一、解析json對象

表結構信息對象,json格式,名稱為tableObj
  *  {
  *   "tableName":"t_res",                              //表名稱
  *   "columnInfo":[           //字段信息
  *            {
  *           "columnName":"id",            //字段名
  *           "dataTypeName":"varchar",     //字段類型
  *           "isKey":true,                 //是否為主鍵,true代表是主鍵,false代表不是
  *           "isAutoIncrement":true,       //是否自增,true代表自增,false代表不自增
  *           "isNull":0,                   //是否為空,1代表可以為空,0代表不能為空
  *           "precision":5,                //精度
  *           "defaultValue":"10"           //默認值
  *           "scale":2                     //小數位數         
  *          }
  *           ]
  *  }

try{
   String name = tableObj.get("tableName").toString();                //獲得表名
   JSONArray columnInfo = tableObj.getJSONArray("columnInfo");        //獲得字段描述json數組
   int size = columnInfo.length();                                    //json數組長度
   for(int i=0;i<size;i++){
    JSONObject info=columnInfo.getJSONObject(i);
    String cloumn = info.getString("columnName");                  //獲取字段名
    String dataType = info.getString("dataTypeName");              //獲取字段類型
    boolean isKey = info.getBoolean("isKey");                      //獲取字段是否為主鍵
    boolean isAutoIncrement = info.getBoolean("isAutoIncrement");  //獲取字段是否自增
    int isNull = info.getInt("isNull");                            //獲取字段是否為空
    int precision = info.getInt("precision");                      //獲取字段類型精度
    String defaultValue = info.getString("defaultValue");          //獲取字段默認值

}

二、封裝json對象


 /**
  * 根據表名獲取表結構信息
  * @param tableName 表名
  * @return 表結構信息對象 Json格式
  *  {
  *   "tableName":"t_res",                              //表名稱
  *   "columnInfo":[           //字段信息
  *            {
  *           "columnName":"id",            //字段名
  *           "dataTypeName":"varchar",     //字段類型
  *           "isKey":true,                 //是否為主鍵,true代表是主鍵,false代表不是
  *           "isAutoIncrement":true,       //是否自增,true代表自增,false代表不自增
  *           "isNull":0,                   //是否為空,1代表可以為空,0代表不能為空
  *           "precision":5,                //精度
  *           "defaultValue":"10"           //默認值
  *           "scale":2                     //小數位數         
  *          }
  *           ]
  *  } 
  */    

 

 JSONObject tableInfoObj = new JSONObject();
  StringBuffer sb = new StringBuffer();  

  sb.append("{"+"'tableName':"+tableName+","+"'columnInfo':"+"[");

  sb.append("{"+"'columnName':"+"'"+cloumn+"'"+","
      +"'dataTypeName':"+"'"+dataType+"'"+","
      +"'isKey':"+isKey+","
      +"'precision':"+precision+","
      +"'defaultValue':"+"'"+defaultValue+"'"+","
      +"'isNull':"+isNull+","
      +"'isAutoIncrement':"+autoIncrement+","
      +"'scale':"+scale+"}"+","); 

   sb.deleteCharAt(sb.length()-1);
   sb.append("]");
   sb.append("}");                                 //json字符串到此完成   
   System.out.println(sb.toString());
   tableInfoObj = new JSONObject(sb.toString());   //將json字符串轉化為jsonObject對象

   return tableInfoObj;
 本文由用戶 c9cv 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!