This question already has answers here:
json serialize a dictionary with tuples as key
(6个答案)
2年前关闭。
我正在尝试使用以下代码将字典转储到json文件:
但是我在使用元组作为键时遇到了问题。当我定义字典时,此方法有效,但是当我尝试将其转储到文件中时,出现此错误:
我在基于Linux的计算机上使用Python 3。
任何帮助解决此问题将不胜感激。
(6个答案)
2年前关闭。
我正在尝试使用以下代码将字典转储到json文件:
import json
with open('save.json', 'w') as outfile:
json.dump({
(0, 0): 0,
(0, 1): 1,
(1, 0): 0,
(1, 1): 1,
}, outfile)
但是我在使用元组作为键时遇到了问题。当我定义字典时,此方法有效,但是当我尝试将其转储到文件中时,出现此错误:
TypeError: key (0, 0) is not a string
我在基于Linux的计算机上使用Python 3。
任何帮助解决此问题将不胜感激。
最佳答案
JSON标准要求键为字符串。
如果您的目的是将该词典保存到文件中,请考虑使用pickle
模块:
import pickle
with open('save.json', 'w') as outfile:
pickle.dump({
(0, 0): 0,
(0, 1): 1,
(1, 0): 0,
(1, 1): 1,
}, outfile)