簡體   English   中英

使用 ZA7F517F354216B63827 將 API 生成的嵌套 Json 數據存儲到 SQL DB 中的最佳方法是什么

[英]What is the best way to store a nested Json data generated from API into SQL DB using Python

我有一個來自 API 的 Json 響應,我需要將它存儲到來自 Z23EEEB7347BDD256BDDFC 的 SQL DB 中。 顯然 Json 數據是嵌套的。 最好的存儲方法是什么?

有沒有一種方法可以使用由 Json 響應生成的模式自動創建表,就像它需要從 Json 響應中獲取列名,並且需要非常動態,如果將來有新值進入它需要創建一個新列

這是 Json 數據示例 -

{
  "data": [
    {
      "id": 111,
      "name": "Test",
      "client": {
        "id": 12,
        "name": "Test"
      },
      "office": {
        "id": 12,
        "name": "Test",
        "country": "Test"
      },
      "primaryContact": {
        "name": "<PrimaryContactName>",
        "email": "<PrimaryContactEmail>"
      },
      "data": [
        {
          "fieldid": 10,
          "fieldLabel": "Test1",
          "hasMutlipleValues": false,
          "multiValues": [],
          "fieldValue": "Test2",
          "sfid": 0
        },
        {
          "fieldid": 132,
          "fieldLabel": "Test3",
          "hasMutlipleValues": false,
          "multiValues": [],
          "fieldValue": "Test4"
        }
      ]
    }
  ],
  "total": 1
}

我認為最好的方法是將 json 本身存儲在數據庫中。 由於您提到 JSON 本質上是動態的。

這是 mariadb。

CREATE TABLE Sample (id int, json_file JSON, PRIMARY KEY(id));

如果上述方法不起作用,您可以將 json 轉換為字符串,然后存儲在 db 中的 VARCHAR 字段中。

import json
json_string = json.dump(json_file)

在生成列時創建列是我覺得沒有必要的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM