zoukankan      html  css  js  c++  java
  • JSON解析及数据库操作实战篇

    代码:

    JSONObject json = JSONObject.parseObject(ubody);//得到整个json

    JSONObject AutoTable=json.getJSONObject("AutoTable");//得到AutoTable

    JSONArray item2=AutoTable.getJSONArray("Item");//得到Item数组(里面存对象),下一层即为表对象

    /*--------------------------------------------2个map数组,一个存表名,一个存字段;存表名和存字段的都是集合map----------------------------------------------------------------------- */


    Map<String, String>[] mapsDetail=new Map[item2.size()]; //map类型的数组,存表中的具体字段及字段的值
    Map<String, String>[] mapsName=new Map[item2.size()]; //map类型的数组,存表名
    for(int i=0;i<item2.size();i++){ //item2为json数组,数组中为对象
    Map<String, String> paramDetail=new HashMap<>();
    Map iteamName=new HashMap(); //存表名称
    JSONObject jsonItem=(JSONObject)item2.get(i);
    String jsonname=jsonItem.getString("name");//得到表名称
    JSONArray jsonItemArray=jsonItem.getJSONArray("Item");//得到表整个字段
    log.info("--------------------------得到表名称"+jsonname);
    log.info("--------------------------得到表整个字段"+jsonItemArray);
    for(Iterator iterator=jsonItemArray.iterator();iterator.hasNext();){
    JSONObject jsonObject=(JSONObject)iterator.next();
    String name=jsonObject.getString("name");
    String value=jsonObject.getString("value");
    paramDetail.put(name, value);
    log.info("--------------------------name"+name);
    log.info("--------------------------name"+value);

    }
    iteamName.put(i, jsonname); //存表名称
    mapsName[i]=iteamName;//数组中存map,表名称
    mapsDetail[i]=paramDetail;//数组中存map,具体字段
    }

    /*--------------------------------------------存进数组结束----------------------------------------------------------------------- */
    /*--------------------------------------------从数组中取数据:遍历表,对应表名之后,存进对应table----------------------------------------------------------------------- */

    long PK_SR_MAIN = KeyUtils.nextId();

    //遍历表,对应表名之后,存进对应数据库table
    for(int i=0;i<mapsName.length;i++){
    if( mapsName[i].get(i).equals("***") ) {
    //mapsDetail[i]是个map,表中的具体字段
    //取字段
    long PK_SR_DETAIL = KeyUtils.nextId();
    long FK_SR_MAIN = PK_SR_MAIN;
    String dgx = mapsDetail[i].get("dgx")== null ? "" :mapsDetail[i].get("dgx");
    ...........
    //必填字段验证
    //执行sql



  • 相关阅读:
    【转】Java中static关键字用法总结
    Java 几种showMessageDialog的表示
    反片语 UVA 156
    【转】本科生如何发表论文
    关于高考
    5-25 朋友圈
    【转】C语言中字符串输入的三种方法
    201508110842_《Javascript权威指南(第六版)——方法借用,私有状态,construct重构和工厂方法》(P225-233)
    201508061158_《移动开发之——样式链表》
    201508061129_《移动开发之——防止触摸移动导致整个界面“露底”》
  • 原文地址:https://www.cnblogs.com/tongcc/p/11212527.html
Copyright © 2011-2022 走看看