sql - 将在线 JSON 文件集转换为关系数据库(SQL Server、MySQL、SQLITE)

标签 sql json sql-server api sqlite

我正在使用一个名为 Teamwork 的工具来管理我团队的项目。
有一个由 JSON 文件组成的在线 API,可通过授权访问
https://developer.teamwork.com/projects/introduction/welcome-to-the-teamwork-projects-api
我希望能够将此在线数据转换为 sql 数据库,以便我可以为我的管理创建自定义报告。
我似乎找不到任何准备这样做的东西。
我需要一个策略来做到这一点..

最佳答案

如果您知道如何编程,这应该非常简单。

例如,在 Python 中,您可以:

  • 提出一个映射到您要存储的 JSON 数据对象的 SQL 模式。在您选择的数据库中创建它。
  • 使用 Requests库来下载 JSON 资源(如果您的系统上还没有这些资源)。
  • 使用 json.loads 将每个 JSON 资源转换为 python 数据结构.
  • 使用适合您的数据库的 Python 库连接到您的数据库服务器。例如,PyMySQL .
  • 遍历 python 数据,将行插入到数据库中。这本质上是步骤 1 中的 JSON 到表的映射,已按程序进行。

  • 如果您不希望在代码中执行此操作,您应该能够使用开源 ETL 工具来执行此转换。在LinkedIn,我的一位同事曾经使用Talend Data Integration用于性质非常相似的可靠 ETL 工作(JSON 到 SQL)。他非常喜欢它,我尊重他的意见,所以我想我应该提一下,尽管我自己对它的经验为零。

    关于sql - 将在线 JSON 文件集转换为关系数据库(SQL Server、MySQL、SQLITE),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54453605/

    相关文章:

    sql - 在两个条件下连接两个表,如果它无法连接到带有空白单元格的行

    java - 使用 Java HttpURLConnection 查询 Open MapQuest API 没有给出结果

    sql-server - 40 个字符的字符串 : Would it make a difference if I use VARCHAR(4000) instead of VARCHAR(40)?

    sql-server - 如何同时使用 LIKE 和 IN 运算符 like ...name LIKE IN ('alex%' ,'raj%' ,'rag%' )?

    sql - SSIS (DT_Decimal) 到 (DT_Str) 删除小数的尾随零

    sql - 检查 NULL 或 0

    java - 应用程序卡在 hibernate 状态 txOracle.commit();

    java - 尝试使用 GSON 反序列化 JSON 字符串时出现错误

    c# - Camel Case Web API Json 设置似乎不起作用

    sql-server - 到主机的 TCP/IP 连接,端口 1433 失败