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

json对象的封装与解析的更多相关文章

  1. go对json对象的生成和解析

    https://blog.csdn.net/benben_2015/article/details/78917374

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

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

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

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

  4. java对象与json对象之间的转换

    jar包:import net.sf.json.JSONObject; 1.解析json字符串 将json字符串转换为json对象,然后再解析json对象:.JSONObjectjsonObject ...

  5. 字符串和JSON对象互转的方法

    采用Ajax的项目开发过程中,经常需要将JSON格式的字符串返回到前端,前端解析成JS对象(JSON ).字符串转JSON对象 1.eval方式解析.function strToJson(str){ ...

  6. Android JSON、GSON、FastJson的封装与解析

    声明: 1.本帖只提供代码,不深入讲解原理.如果读者想要深入了解,那就不要在这个帖子上浪费时间了 2.客户端用的是Google官方的Volley访问服务器,具体了解Volley请戳 这里 3.本帖三种 ...

  7. 如何利用.Net内置类,解析未知复杂Json对象

    如何利用.Net内置类,解析未知复杂Json对象 如果你乐意,当然可以使用强大的第三方类库Json.Net中的JObject类解析复杂Json字串 . 我不太希望引入第三方类库,所以在.Net内置类J ...

  8. 解析JSON对象与字符串之间的相互转换

    在开发的过程中,如果对于少量参数的前后台传递,可以直接采用ajax的data函数,按json格式传递,后台Request即可,但有的时候,需要传递多个参数,这样后台 接受的时候Request多个很麻烦 ...

  9. [知了堂学习笔记]_JSON数据操作第2讲(JSON的封装与解析)

    上一讲为大家讲了什么是JSON,那么这一讲为大家带来了在WEB项目中JSON的用法,也就是JSON的封装与解析. 此图是数据库中的部分内容 一.JSON封装 所谓的JSON封装,指的是在Servlet ...

随机推荐

  1. ToDoList-学习中看到的知识盲点

    1. java中的volatile关键字的作用 2. java类加载器 3. Android源码编译 4. MediaPlayer的用法 5. Html5和web app

  2. intellj idea 如何设置类头注释和方法注释

    intellj idea 如何设置类头注释和方法注释           intellj idea的强大之处就不多说了,相信每个用过它的人都会体会到,但是我们也会被他的复杂搞的晕头转向,尤其刚从ecl ...

  3. 从零开始PHP学习 - 第三天

    写这个系列文章主要是为了督促自己  每天定时 定量消化一些知识! 同时也为了让需要的人 学到点啥~! 本人技术实在不高!本文中可能会有错误!希望大家发现后能提醒一下我和大家! 偷偷说下 本教程最后的目 ...

  4. MYSQL alter procedure alter function 它们只可以更改过程的特性,不可以更改过程的逻辑。

    例子: delimiter // create procedure proc_a(in numberA int) 这样create procedure 是正确的 begin select number ...

  5. BZOJ 2253: [2010 Beijing wc]纸箱堆叠

    题目 2253: [2010 Beijing wc]纸箱堆叠 Time Limit: 30 Sec  Memory Limit: 256 MBSubmit: 239  Solved: 94 Descr ...

  6. geometry(简单数学题)

    geometry  Accepts: 324  Submissions: 622  Time Limit: 2000/1000 MS (Java/Others)  Memory Limit: 6553 ...

  7. 项目管理:关于SVN的实践

    SVN是Subversion的简称,是一个开放源码的版本号控制系统. 合作开发的时候,对SVN的使用有3个软件:SVN的server端,SVNclient(也就是Tortoise SVN,寻常chec ...

  8. 保存android程序崩溃日志到SD卡

    private boolean writeToSDCard(Throwable ex) { boolean isDealing = false; if (Environment.getExternal ...

  9. 自己定义控件-GifView

    一.描写叙述 显示Gif 的View 原理是用 MediaPlayer 实现的 二.源代码 https://github.com/mentor811/Demo_GifView [ 声明:版权全部,欢迎 ...

  10. [C# 基础知识系列]专题六:泛型基础篇——为什么引入泛型

    引言: 前面专题主要介绍了C#1中的2个核心特性——委托和事件,然而在C# 2.0中又引入一个很重要的特性,它就是泛型,大家在平常的操作中肯定会经常碰到并使用它,如果你对于它的一些相关特性还不是很了解 ...