Json 在 Python 中转储带有元组的字典
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
看来跟元组有关。
将数据转换为字符串不起作用,只有 returns 一行结果。
"{(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))
我在 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
看来跟元组有关。
将数据转换为字符串不起作用,只有 returns 一行结果。
"{(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))