使用Python从数据库创建带有数组的有效JSON

时间:2018-08-22 07:01:09

标签: python arrays json mariadb simplejson

我正在尝试使用Python获取这样的JSON文件,并从Linux系统上的MariaDB中获取数据。我该如何实现?

{
  "data": [
    {
      "city": "A",
      "age": "21"
    },
    {
      "city": "B",
      "age": "45"
    }
  ]
}

这是我的Python文件的外观:

import csv
import datetime
import mysql.connector as mariadb
import simplejson
import os

mariadb_connection = mariadb.connect(user='user', password='passwd', database='db1')
cursor = mariadb_connection.cursor()
cursor.execute("SELECT name,age FROM persons ORDER BY name ASC")

data = cursor.fetchall()
names_as_dict = []

for row in data:
 name_as_dict = {
           'name' : row[0],
           'age' : row[1]
 }
 names_as_dict.append(name_as_dict)

with open('myfile.json', 'w') as f:
    simplejson.dump(names_as_dict, f)

此文件的输出:

[
  {
    "city": "A",
    "age": "21"
  },
  {
    "city": "B",
    "age": "45"
  },
...
]

1 个答案:

答案 0 :(得分:0)

您可以将其与其他词典一起包装

result = {'data': [{'name' : row[0],'age' : row[1]} for row in data]}