我正在嘗試過濾 json 格式的資料,但是在它執行 json.dumps 之后它仍然不是 dict 格式,當我嘗試過濾它時,它不起作用。
這是我的代碼:
import json
import urllib3
http = urllib3.PoolManager()
user = ''
def data_json():
url = '' user
r = http.request(
'GET',
url,
)
data = json.loads(r.data.decode('utf-8'))
data2 = json.dumps(dados, indent=4, sort_keys=True, separators=(',', ':'))
print (data2)
這是它回傳的輸出:
{
"result":"Data: {\"prescription":\"Nimesulida \",\"data\":\"14/10\"}"
}
我只想從這個輸出中過濾“資料”結果,我嘗試了這兩種方法:
print(data2[1]['data'])
print(data2['result']['data'])
但它回傳此錯誤訊息:字串索引必須是整數。有誰知道如何過濾這些資料?
uj5u.com熱心網友回復:
你有點亂。雖然 JSON 是有效的,但它的格式很奇怪。下面我對原始data值進行了逆向工程,因為它不是直接提供的:
import json
import ast
data2 = r'''{
"result":"Data: {\"prescription\":\"Nimesulida \",\"data\":\"14/10\"}"
}'''
print(data2) # Matches your claim,^-except there was a missing backslash here
data = json.loads(data2) # Get original data back
print(data)
result = data['result'] # access result, value is a *string*
d = ast.literal_eval(result[6:]) # slice off 'Data: ' and convert to dict
print(d['data'])
輸出:
14/10
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/332826.html
上一篇:當服務器永不停止加載時,如何在JavaScript中存盤來自get請求的初始文本/事件流回應?
下一篇:tweepy查詢中的邏輯運算子
