[英]Json dump of dict with tuples inside in Python
我在Python中有一本字典,將元組映射到一個數字,如下所示。
目的是將數據以json格式打印,但出現錯誤
import json
data = {
(7, 0, 4, 1, 0, 0, 3): 2,
(7, 0, 3, 1, 0, 0, 3): 1,
(2, 0, 0, 1, 0, 0, 1): 3,
(7, 0, 2, 1, 0, 0, 3): 4,
(7, 0, 4, 1, 0, 0, 2): 1,
(0, 0, 0, 0, 0, 0, 0): 2,
}
print (json.dumps(data))
我收到一個錯誤
return _iterencode(o, 0)
TypeError: keys must be a string
顯然,它與元組有關。
將數據強制轉換為字符串不起作用,它僅返回單行結果。
"{(7, 0, 4, 1, 0, 0, 3): 2, (7, 0, 3, 1, 0, 0, 3): 1, (2, 0, 0, 1, 0, 0, 1): 3, (7, 0, 2, 1, 0, 0, 3): 4, (7, 0, 4, 1, 0, 0, 2): 1, (0, 0, 0, 0, 0, 0, 0): 2}"
json中的鍵必須是字符串。 嘗試這個:
print (json.dumps(({str(k):v for k,v in data.items()})))
您還可以使用縮進使其更漂亮:
print (json.dumps(({str(k):v for k,v in data.items()}),indent=2))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.