我有一個自定義對象,我已經序列化爲JSON
數據。序列化後,我將數據寫回JSON
文件。這似乎是行得通的,但是我寫回文件的JSON現在是一個字符串(即它以"
開始並以"
結尾)。Python:將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)
回報完美,但是當它寫道,T他的文件是一個很長的字符串。
我該如何解決這個問題?
請問您可以包括一些示例輸入和輸出? – 2013-02-28 14:46:38
看起來像你編碼它(它返回一個JSON字符串),然後把它放到'dump'中,它再次編碼它,既然它是一個JSON字符串,你就可以在JSON字符串中得到JSON。 – 2013-02-28 14:52:55