json對象的封裝與解析
一、解析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;