首页 > 解决方案 > 将 json 从 mysql 导出为嵌套 json

问题描述

我目前运行以以下格式导出 json 的查询

[
    {
        "id" : 1,
        "name" : "Sin movimiento",
        "points" : 1,
        "lower_limit" : 0,
        "deleted" : 0
    },
    {
        "id" : 2,
        "name" : "Más de 25 km/h",
        "points" : 3,
        "lower_limit" : 25,
        "deleted" : 0
    }
]

但是,为了将数据正确导入到 firebase,所有其他细节,如名称、点、lower_limit、deleted 都应该以这种方式嵌套在 id 中:

    [   
       {

    "1": {
          "name": "Sin movimiento",
          "points":1,
          etc...
         }
      },

    {

    "2": {
    "name": "Más de 25 km/h",
    etc
         } 
    } 
 ]

我将如何去完成这个?是否可以使用 Mysql 5.6 编写查询?还是我应该为此编写一个python脚本?任何指导表示赞赏。

标签: pythonmysqljsongoogle-cloud-firestore

解决方案


我会在 Python 而不是 MySql 中完成它。

[{s['id'] : {k : v for k, v in s.items() if k != 'id'}} for s in data]

其中 data 是您的字典(或 JSON 数据)。

data = [
    {
        "id" : 1,
        "name" : "Sin movimiento",
        "points" : 1,
        "lower_limit" : 0,
        "deleted" : 0
    },
    {
        "id" : 2,
        "name" : "Más de 25 km/h",
        "points" : 3,
        "lower_limit" : 25,
        "deleted" : 0
    }
]

推荐阅读