我有一个已序列化为 JSON
数据的自定义对象。序列化后,我将数据写回 JSON
文件。这似乎可行,但是我写回文件的 JSON 现在是一个字符串(即它以 "
开头并以 "
结尾)。
因此,当我尝试加载新文件进行解析时,我的解析器认为它是一个字符串,我得到了错误:
TypeError: string indices must be integers
我通过以下方式序列化对象:
class myEncoder(JSONEncoder):
def default(self, o):
return o.__dict__
然后调用这个类:
with open('updatedMapData.json', 'w') as outfile:
json.dump(myEncoder().encode(jsonToEncode) , outfile)
myEncoder().encode(data)
完美返回,但是写入时,文件是一个长字符串。
我该如何解决这个问题?
最佳答案
只是做:
outfile.write(myEncoder().encode(jsonToEncode))
关于Python:将 JSON 字符串写入文件。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15138363/