Kettle实战100篇 第16篇 JSON文件导入Mysql

Kettle实战100篇 第2篇 调用RESTful接口导入JSON结果入库中我们其实已经介绍了JSON导入到数据库的方法,但是本章是将本地的JSON文件导入MySQL数据库中,会有不同的属性设置,而且JSON的源文件也较第2篇复杂,因此单独再博客中说明

本次导入的JSON源文件为Open API V2.0的规范数据,如果你接触过Swagger项目的话,那么对该结构应该是非常熟悉的,所以我们这次的需求是:

  • 通过解析Open Api V2.0的JSON文件导入接口信息,包括接口地址、描述、请求方式等等

  • 导入文档接口的介绍信息入库

先来看我们的JSON结构:

{
  "swagger": "2.0",
  "info": {
    "description": "<div style='font-size:14px;color:red;'>swagger-bootstrap-ui-demo RESTful APIs</div>",
    "version": "1.0",
    "title": "swagger-bootstrap-ui很棒~~~!!!",
    "termsOfService": "http://www.group.com/",
    "contact": {
      "name": "[email protected]"
    }
  },
  "host": "127.0.0.1:8999",
  "basePath": "/",
  "tags": [],
  "paths":{
      
  }
  //more...完整的JSON结构见博客末尾附录
    
}

根据需求,我们需要解析info节点以及遍历paths节点,然后将接口信息分别入库

数据库建表

我们先在我们的MySQL数据库中建立表,分别是接口信息表以及接口明细表

  • 接口信息表:存放的是该OpenApiV2.0中的关键信息,包括标题、联系人、介绍等

  • 接口明细表:用于存储该文档中的所有接口信息,包括接口路径、接口描述、接口名称等

两张表的字段信息如下图:

 

Kettle实战100篇 第16篇 JSON文件导入Mysql

Kettle实战100篇 第16篇 JSON文件导入Mysql

 

 

附录

JSON源格式完整结构

http://swagger-bootstrap-ui.xiaominfo.com/v2/api-docs-ext?group=1.9.X%E7%89%88%E6%9C%AC%E6%8E%A5%E5%8F%A3