データにシリアル化したカスタムオブジェクトがあり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)
完全に戻りますが、書き込むとき、ファイルは長い文字列です。
この問題を解決するにはどうすればよいですか?