我有一個子行程,它列印一個我想用作字典的字串。
b"{'name': 'Bobby', 'age': 141}\r\n"
我正在使用解碼輸出。
d = p.stdout.read().decode("utf-8").strip()
為什么我不能將它用作字典?d['name']回傳TypeError: string indices must be integers
有誰知道發生了什么?是某種編碼問題嗎?
干杯,克里斯
uj5u.com熱心網友回復:
使用內置json模塊;具體來說,json.loads().
json.loads()輸入一個字串/文本物件并回傳一個 Python 字典。JSON 的語法對鍵和值使用雙引號,但是,您需要重新格式化字串以使用雙引號而不是單引號:
'{"name": "Bobby", "age": 141}\r\n'
然后我們可以使用該json模塊:
import json
my_string = '{"name": "Bobby", "age": 141}\r\n'
my_dic = json.loads(my_string)
print(my_dic, type(my_dic))
這將導致:
{'name': 'Bobby', 'age': 141} <class 'dict'>
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/434471.html
上一篇:條件成立時對字典串列的值求和
