国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 擴展 > JSON > 正文

flask框架json數(shù)據(jù)的拿取和返回操作示例

2024-09-06 20:18:11
字體:
供稿:網(wǎng)友

本文實例講述了flask框架json數(shù)據(jù)的拿取和返回操作。分享給大家供大家參考,具體如下:

json數(shù)據(jù)結構:以套票票網(wǎng)站的城市數(shù)據(jù)為例,拿到數(shù)據(jù)莫慌,

1 先分析數(shù)據(jù)結構,有幾個大的字段(‘returnCode'和‘retuenValue'字段,只有一個字段作為定義,另一個字段作為保留(無需處理)

2 鍵表----> 拆分'returnValue‘確定數(shù)據(jù)庫表結構,('A‘[]城市首字母表 和  城市具體信息字段{}表)

3 將拿到的數(shù)據(jù)拆分插入到數(shù)據(jù)庫中

4 將數(shù)據(jù)庫的數(shù)據(jù)以JSON 的形式返回給用戶

(a)拿到的數(shù)據(jù):

} "returnCode": "0", "returnValue": {  "A": [   {    "id": 3643,    "parentId": 0,    "regionName": "阿壩",    "cityCode": 513200,    "pinYin": "ABA"   },   {    "id": 3090,    "parentId": 0,    "regionName": "阿克蘇",    "cityCode": 652901,    "pinYin": "AKESU"   },   {    "id": 3632,    "parentId": 0,    "regionName": "阿拉善",    "cityCode": 152900,    "pinYin": "ALASHAN"   },   {    "id": 899,    "parentId": 0,    "regionName": "安康",    "cityCode": 610900,    "pinYin": "ANKANG"   },   {    "id": 196,    "parentId": 0,    "regionName": "安慶",    "cityCode": 340800,    "pinYin": "ANQING"   },   {    "id": 758,    "parentId": 0,    "regionName": "鞍山",    "cityCode": 210300,    "pinYin": "ANSHAN"   },   {    "id": 388,    "parentId": 0,    "regionName": "安順",    "cityCode": 520400,    "pinYin": "ANSHUN"   },   {    "id": 454,    "parentId": 0,    "regionName": "安陽",    "cityCode": 410500,    "pinYin": "ANYANG"   }  ],

B....C....D....Z省略其他大寫字母開頭的城市,以A開頭的城市名為例

(b)表結構,建立外鍵models.py

from App.ext import db#定義城市名大寫字母類,在數(shù)據(jù)的最外層class Letter(db.Model):  id = db.Column(db.Integer,primary_key =True,autoincrement=True)  letter = db.Column(db.String(8),unique=True,nullable=False)#定義城市類,嵌套層class City(db.Model):  id = db.Column(db.Integer,primary_key = True,autoincrement = True)  parentId = db.Column(db.Integer,nullable = False,defaut=0)  regionName = db.Column(db.String(30),nullable = False)  cityCode = db.Column(db.Integer)  pinYin = db.Column(db.String(128))  #建立外鍵‘首字母'  first_letter = db.Column(db.String(8),db.ForeignKey(Letter.letter))

(c)addcities.py插入數(shù)據(jù):

from flask_restful.representations import jsonfrom sqlalchemy.dialects.mysql import pymysqldef add_cities():#鏈接數(shù)據(jù)庫  db = pymysql.Connect(host= '10.0.118.135',user = 'root',password ='xxxxxxx',database = 'tpp6666',port = 3306)  cursor = db.cursor()  #讀取拿到的數(shù)據(jù),遍歷數(shù)據(jù)  with open('citylist.json')as cl:    returnValue = json.load(cl).get('returnValue')    for key in returnValue:      for city in returnValue.get(key):         db.begin()         #插入數(shù)據(jù),以每一個大寫字母為一個字段插入,以字典的形式         cursor.execute(           'insert into city(id,parentId,regionName,cityCode,pinYin,first_letter) values({},{},"{}",{},"{}","{}");'.format(             city['id'], city['parentId'], city['regionName'], city['cityCode'], city['pinYin'], key))         db.commit()if __name__ == '__main__':  add_cities()
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 南丰县| 崇阳县| 洞头县| 宁南县| 手游| 盐池县| 涞源县| 石狮市| 芦山县| 张家界市| 南丹县| 沅江市| 民勤县| 安岳县| 南平市| 黎川县| 兴城市| 拉孜县| 霸州市| 辰溪县| 介休市| 青冈县| 眉山市| 炉霍县| 怀仁县| 北安市| 密山市| 商南县| 六枝特区| 岳池县| 鄂托克前旗| 龙南县| 桑日县| 拜城县| 甘谷县| 莱西市| 当雄县| 鲜城| 河东区| 松江区| 肇东市|