84669 人學習
152542 人學習
20005 人學習
5487 人學習
7821 人學習
359900 人學習
3350 人學習
180660 人學習
48569 人學習
18603 人學習
40936 人學習
1549 人學習
1183 人學習
32909 人學習
我使用anaconda 的jupyter來跑程式碼,在我使用requests模組來來讀取網頁,##看到輸出內容在大括號內,判斷是字典,就用來dict的函數來讀取值,卻失敗了。type()發現它的屬性發現是str我用json後,卻發現屬性又變成dict。
字典形式的內容當字串來讀取時候,該如何讓他們重新變成字典屬性?
請樓主以後發問多利用 編輯按鈕加入代碼,方便別人試代碼。
試試以下程式碼:
x = eval(r.text) y = r.json() print (type(x), type(y)) print (x==y)
結果應該是兩個都是字典,而且內容一致。換句話說:
x = eval(r.text) y = r.json()
x 是把r.text的字串直接當成表述句expressions執行了,產生一字典
y 是r.json()方法傳回的json物件,產生一字典
所以你的問題是:「當程式把這類字典形式的內容當字串來讀取時候,該如何讓他們重新變成字典屬性?」可以比較精確的改問為:「字串中為一個字典形式的表述句,該如何將字串變成字典?當然,requests模組本來就有.json()方法,你本來就可以用的
d = r.json()
這樣,就得到 字典d 了
外面還有層引號呢
請樓主以後發問多利用 編輯按鈕加入代碼,方便別人試代碼。
試試以下程式碼:
結果應該是兩個都是字典,而且內容一致。換句話說:
x 是把r.text的字串直接當成表述句expressions執行了,產生一字典
y 是r.json()方法傳回的json物件,產生一字典
所以你的問題是:
「當程式把這類字典形式的內容當字串來讀取時候,該如何讓他們重新變成字典屬性?」
可以比較精確的改問為:
「字串中為一個字典形式的表述句,該如何將字串變成字典?
當然,requests模組本來就有.json()方法,你本來就可以用的
d = r.json()
這樣,就得到 字典d 了
外面還有層引號呢