我有一个自定义对象,已经序列化成
因此,当我尝试加载新文件进行解析时,我的解析器会认为它是一个字符串,然后出现错误:
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)
返回的很完美,但当它写入文件时,文件变成了一个长字符串。
我该如何解决这个问题?