使用python将从api生成的嵌套json数据存储到sqldb中的最佳方法是什么

2g32fytz  于 2021-08-09  发布在  Java
关注(0)|答案(1)|浏览(211)

我有一个来自api的json响应,我需要将它存储到python的sqldb中。显然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
}
vuv7lop3

vuv7lop31#

我认为最好的方法是将json本身存储在db中。既然你提到了json本质上是动态的。
这是和mariadb的。

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

如果上述方法不起作用,您可以将json转换为字符串,然后将其存储在varchar字段的db中。

import json
json_string = json.dump(json_file)

我觉得在生成列时创建列是不必要的。

相关问题