我花了幾個(gè)小時(shí),嘗試了所有在網(wǎng)上找到的東西,拔掉了我頭上剩下的一些頭發(fā)……我將此JSON發(fā)送到了我正在編寫(xiě)的Flask網(wǎng)絡(luò)服務(wù)中:{'jsonArray': '[ { "nom":"0012345679", "Start":"2018-08-01", "Finish":"2018-08-17", "Statut":"Validee" }, { "nom":"0012345679", "Start":"2018-09-01", "Finish":"2018-09-10", "Statut":"Demande envoyée au manager" }, { "nom":"0012345681", "Start":"2018-04-01", "Finish":"2018-04-08", "Statut":"Validee" }, { "nom":"0012345681", "Start":"2018-07-01", "Finish":"2018-07-15", "Statut":"Validee" } ]'}我只想遍歷記錄:app = Flask(__name__)@app.route('/graph', methods=['POST'])def webhook(): if request.method == 'POST': req_data = request.get_json() print(req_data) #-> shows JSON that seems to be right ##print(type(req_data['jsonArray'])) #j1 = json.dumps(req_data['jsonArray']) #j2 = json.loads(req_data['jsonArray']) #data = json.loads(j1) #for rec in data: # print(rec) #-> This seems to consider rec as one of the characters of the whole JSON string, and prints every character one by one #for key in data: # value = data[key] # print("The key and value are ({}) = ({})".format(key, value)) #-> TypeError: string indices must be integers for record in req_data['jsonArray']: for attribute, value in rec.items(): #-> Gives error 'str' object has no attribute 'items' print(attribute, value)我相信我在JSON對(duì)象,python dict對(duì)象,字符串之間迷路了,但我不知道自己缺少什么。我確實(shí)試圖將通過(guò)json.dumps和json.loads方法接收到的JSON放入,但仍然沒(méi)有。我想念什么??我只想遍歷每條記錄以創(chuàng)建另一個(gè)python對(duì)象,然后將其饋送到圖表庫(kù)中,如下所示:df = [dict(Task="0012345678", Start='2017-01-01', Finish='2017-02-02', Statut='Complete'), dict(Task="0012345678", Start='2017-02-15', Finish='2017-03-15', Statut='Incomplete'), dict(Task="0012345679", Start='2017-01-17', Finish='2017-02-17', Statut='Not Started'),
1 回答

慕村9548890
TA貢獻(xiàn)1884條經(jīng)驗(yàn) 獲得超4個(gè)贊
整個(gè)內(nèi)容都用單引號(hào)引起來(lái),這意味著它是一個(gè)字符串,您需要對(duì)其進(jìn)行解析。
for record in json.loads(req_data['jsonArray']):
查看您的注釋代碼,您執(zhí)行了以下操作:
j1 = json.dumps(req_data['jsonArray']) data = json.loads(j1)
使用json.dumps
上的繩子是錯(cuò)誤的想法,而且json.loads(json.dumps(x))
只是一樣x
,使剛剛得到了你回到開(kāi)始的地方,即data
是同樣的事情req_data['jsonArray']
(字符串)。
這是正確的想法:
j2 = json.loads(req_data['jsonArray'])
但是你從來(lái)沒(méi)有用過(guò)j2
。
如您所見(jiàn),遍歷字符串會(huì)為您提供字符串的每個(gè)字符。
添加回答
舉報(bào)
0/150
提交
取消