1. 程式人生 > >JSON物件的封裝與解析

JSON物件的封裝與解析

   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;