我有一个已序列化为JSON
数据的自定义对象。序列化后,我将数据写回JSON
文件。这似乎有效,但是我写回文件的 JSON 现在是一个字符串(即它以 a 开头并以 a"
结尾"
)。
因此,当我尝试将新文件加载到被解析时,我的解析器认为它是一个字符串并且我得到了错误:
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)
完美返回,但是当它写入时,文件是一个长字符串。
我该如何解决这个问题?