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

转载于:https://www.cnblogs.com/james1207/p/3292255.html

json对象的封装与解析相关推荐

  1. java封装对象数组_java解析JSON对象和封装对象的示例

    在本例中java解析JSON对象使用的是org.json,因此,如果各位想测试我的代码,请先确保有java.json.jar包,否则,就需要去网上下载这个jar包,然后才可以正常使用本代码. 本例的功 ...

  2. Flutter Json对象和数组解析成实体类

    1.解析json对象: 准备一个json 对象数据: String json="{"res": true, "age": 12, "Name ...

  3. javascript json对象操作(基本增删改查)

    /*** Json对象操作,增删改查** @author lellansin* @blog www.lellansin.com* @version 0.1* * 解决一些常见的问题* get/set ...

  4. php 判断json包含key,php判断json对象是否存在的方法

    在实际测试中php读取json数组时 使用简单的 if 或者 array_key_exists 去判断对象是否存在是会报错的,以下是google搜寻的正确判断方法 实际上出现报错只是我对php还不是很 ...

  5. java对象与json对象间的相互转换的方法

    String json=JSON.toJSONString(user);//关键 1.简单的解析json字符串 首先将json字符串转换为json对象,然后再解析json对象,过程如下. 1 JSON ...

  6. java对象与json对象间的相互转换

    工程中所需的jar包,因为在网上不太好找,所以我将它放到我的网盘里了,如有需要随便下载. 点击下载 1.简单的解析json字符串 首先将json字符串转换为json对象,然后再解析json对象,过程如 ...

  7. Json字符串解析原理、超大json对象的解析

    概述 附上完整的代码: https://files.cnblogs.com/files/xcr1234/json.rar 一个类实现json解析核心代码(ObjectParser),其他的类都是工具类 ...

  8. android 之json对象解析并展示(含json解析源码)

    具体处理思路以及使用到的知识点: 1.使用android的异步处理 2.将要使用的功能(方法)进行封装,以便主类进行调用 3.前台展示要使用适配器模型(这里使用简单适配器(SimpleAdapter) ...

  9. ajax传递json对象 php,PHP传递通过AJAX传递JSON对象数组到前台,前台解析,遍历JSON...

    PHP后台接网易接口 header("Content-Type:text/html;charset=utf-8"); //从文件读取数据 //$json_str =file_get ...

最新文章

  1. Tensorflow— 递归神经网络RNN
  2. 带通采样定理简单记录
  3. 软件工程学完java后干_软件工程学习后的一些体会--------两周
  4. 设计模式-2-代理模式
  5. 百度前端技术学院2017学习总结
  6. 前端接收pdf文件_如何实现springmvc将返回的给前端的pdf文件放在浏览器里预览
  7. 5分钟学会Java9-Java11的七大新特性
  8. 五十二、Python北京美团汉堡外卖数据分析实战
  9. Chosen通用初始化
  10. Framework1.1 DataView 转DataTable
  11. java mod函数的使用方法_java 数学计算的具体使用
  12. Bruce' Tool 4 - autoruns
  13. 对 Lotus Notes 邮件模版进行二次开发的最佳实践
  14. pyhon如何连接mysql_python如何连mysql数据库
  15. 拓端tecdat|R语言配对检验分析案例
  16. 公用Laravel 5框架与公用库架构
  17. 学习笔记-大数据之路-数据模型篇-建模综述
  18. 世界标准时间(UTC) 常识
  19. vue向后端发送数据并得到返回值
  20. 如何制作电子文档CHM(How to gernerate chm from assembly)

热门文章

  1. 服务器系统咋关机呀,各种服务器系统的关机
  2. mysql函数与事件_mysql事件函数的应用
  3. facebook react.js
  4. js html最小化_Js可以写桌面应用端?
  5. fopen /open,read/write和fread/fwrite区别
  6. 网络适配器本地连接没有有效ip地址配置错误的解决办法
  7. SAP 录屏BDC使用—实例
  8. OpenCart如何添加货币
  9. 前端 JavaScript 复制粘贴的奥义——Clipboard 对象概述
  10. VC++学习(1):Windows程序内部运行原理