2017-09-08 37 views
0

這是我從MySQL查詢得到了JSON - 第一JSON:如何獲得這種類型的JSON數據在Python

[ 
    { 
     "id": 121, 
     "name": "A" 
    }, 
    { 
     "id": 122, 
     "name": "B" 
    }, 
    { 
     "id": 123, 
     "name": "C" 
    }, 
    { 
     "id": 124, 
     "name": "D" 
    } 
] 

二JSON:但我需要這種格式

{ 
"user_data": 
    [ 
     { 
      "id": 121, 
      "name": "A" 
     }, 
     { 
      "id": 122, 
      "name": "B" 
     }, 
     { 
      "id": 123, 
      "name": "C" 
     }, 
     { 
      "id": 124, 
      "name": "D" 
     } 
    ] 
} 

所以我可以確定這是user_data。 我們可以區分兩個json。

用於生成第一JSON的代碼如下

import pymysql 

import json 

conn = pymysql.connect(host='localhost', port=3306, user='root', passwd='', db='test', charset='utf8mb4', cursorclass=pymysql.cursors.DictCursor) 
cursor = conn.cursor() 
cursor.execute("SELECT * FROM user") 

rows = [] 
for row in cursor: 
    rows += [row] 

print(json.dumps(rows, sort_keys=False, indent=4, separators=(',', ': '))) 

cursor.close() 
conn.close() 

回答

1

您可以在字典對象與主要user_data只需添加這一點。

user_data = json.dumps(rows, sort_keys=False, indent=4, separators=(',', ': ')) 
data = { 
    'user_data' : user_data 
} 
+0

是新手到Python ..我得到這個錯誤 C:\ XAMPP \ htdocs中\沙盤\ PY> te.py 文件 「C:\ XAMPP \ htdocs中\沙盤\ PY \ te.py」線15 數據= { ^ IndentationError:意外縮進 –

+0

有代碼中的額外的空間上面,你需要刪除 – gonczor

+0

是啊..我得到它感謝..但輸出是不是有效的JSON ... { 「USER_DATA ': [\ n } {\ n 「id」:121,\ n 「name」:「A」\ n }, { 「ID」:122,\ n 「名稱」: 「B」 \ n }, { 「ID」:123,\ n 「名稱」: 「C」 \ n }, { 「id」:124,\ n 「name」:「D」\ n } \ n] } –

相關問題