开发者社区 问答 正文

怎么访问json格式数据库

怎么访问json格式数据库

展开
收起
云计算小粉 2018-05-10 20:00:09 2123 分享 版权
1 条回答
写回答
取消 提交回答
  • 阿里云ping https://ping.gaomeluo.com/aliyun/

      直接读写文件,再把读出来的文件内容格式化成json,再用JDBC、Mybatis或者其他框架将json数据存入数据库。

    假设实体类是这样的:

    public class ElectSet {
    public String xueqi;
    public String xuenian;
    public String startTime;
    public String endTime;
    public int menshu;
    public String isReadDB;
    //{"xueqi":,"xuenian":,"startTime":,"endTime":,"renshu":,"isReadDB":}
    public String getXueqi() {
    return xueqi;
    }
    public void setXueqi(String xueqi) {
    this.xueqi = xueqi;
    }
    public String getXuenian() {
    return xuenian;
    }
    public void setXuenian(String xuenian) {
    this.xuenian = xuenian;
    }
    public String getStartTime() {
    return startTime;
    }
    public void setStartTime(String startTime) {
    this.startTime = startTime;
    }
    public String getEndTime() {
    return endTime;
    }
    public void setEndTime(String endTime) {
    this.endTime = endTime;
    }
    public int getMenshu() {
    return menshu;
    }
    public void setMenshu(int menshu) {
    this.menshu = menshu;
    }
    public String getIsReadDB() {
    return isReadDB;
    }
    public void setIsReadDB(String isReadDB) {
    this.isReadDB = isReadDB;
    }

    }
    有一个json格式的文件,存的信息如下:

    Sets.json:
    {"xuenian":"2007-2008","xueqi":"1","startTime":"2009-07-19 08:30","endTime":"2009-07-22 18:00","menshu":"10","isReadDB":"Y"}
    具体操作:

    /*

    • 取出文件内容,填充对象
      */

    public ElectSet findElectSet(String path){
    ElectSet electset=new ElectSet();
    String sets=ReadFile(path);//获得json文件的内容
    JSONObject jo=JSONObject.fromObject(sets);//格式化成json对象
    //System.out.println("------------" jo);
    //String name = jo.getString("xuenian");
    //System.out.println(name);
    electset.setXueqi(jo.getString("xueqi"));
    electset.setXuenian(jo.getString("xuenian"));
    electset.setStartTime(jo.getString("startTime"));
    electset.setEndTime(jo.getString("endTime"));
    electset.setMenshu(jo.getInt("menshu"));
    electset.setIsReadDB(jo.getString("isReadDB"));
    return electset;
    }
    //设置属性,并保存
    public boolean setElect(String path,String sets){
    try {

    writeFile(path,sets);
    return true;

    } catch (IOException e) {

    // TODO Auto-generated catch block
    e.printStackTrace();
    return false;

    }
    }
    //读文件,返回字符串
    public String ReadFile(String path){

    File file = new File(path);
    BufferedReader reader = null;
    String laststr = "";
    try {
     //System.out.println("以行为单位读取文件内容,一次读一整行:");
     reader = new BufferedReader(new FileReader(file));
     String tempString = null;
     int line = 1;
     //一次读入一行,直到读入null为文件结束
     while ((tempString = reader.readLine()) != null) {
      //显示行号
      System.out.println("line " line ": " tempString);
      laststr = laststr tempString;
      line ;
     }
     reader.close();
    } catch (IOException e) {
     e.printStackTrace();
    } finally {
     if (reader != null) {
      try {
       reader.close();
      } catch (IOException e1) {
      }
     }
    }
    return laststr;

    }
    将获取到的字符串,入库即可。
    ps:来源网络

    2019-07-17 22:10:54
    赞同 1 展开评论