一、解析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;

最新文章

  1. Ogre中OIS的输入的使用
  2. 对于一些Http远程连接Api安全的看法;
  3. MMORPG大型游戏设计与开发(概述)updated
  4. c++ 字符串流 sstream(常用于格式转换) 【转载】
  5. C++静态代码分析工具对比cppCheck与PreFast
  6. 随机采样方法整理与讲解(MCMC、Gibbs Sampling等)
  7. CSS 实现背景半透明
  8. POJ 3159 Candies(差分约束)
  9. IOS开发之内存管理--dealloc该写些什么
  10. How Many Tables(POJ 1213 求连通分量)
  11. hdu 1978 How many ways 记忆化搜索+DP
  12. python_如何在列表、字典中筛选数据?
  13. rpm 相关问题
  14. VUE 出现Access to XMLHttpRequest at &#39;http://192.168.88.228/login/Login?phone=19939306484&amp;password=111&#39; from origin &#39;http://localhost:8080&#39; has been blocked by CORS policy: The value of the &#39;Access-Contr
  15. pycharm的pip安装问题,需要确认适合IDE的pip版本
  16. JavaWeb练习-网上名片管理系统
  17. MongoDB的启动与停止(一)
  18. Centos7防火墙快速开放端口配置方法
  19. scrapy框架 + selenium 爬取豆瓣电影top250......
  20. 数据结构线性表的动态分配顺序存储结构算法c语言具体实现和算法时间复杂度分析

热门文章

  1. oracle sql developer 使用技巧
  2. Hibernate的使用梳理
  3. java 调用jdbc 实现excel和csv的导入和导出
  4. B - 确定比赛名次
  5. LaTeX空格
  6. Java Buffer
  7. zoj 3171 The Hidden 7&#39;s
  8. Struts2 一张图片引发的bug
  9. 利用路由器搭建受限wifi热点,气死蹭网的坏人~
  10. IE 中开发,兼容与性能测试工具汇总