簡體   English   中英

Json dict的字典,里面有元組

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM