TypeError: Object of type ‘int32’ is not JSON serializable解決辦法
今天使用json庫來保存json文件,遇到一個之前沒見過的錯誤,花了一兩個小時才搞明白。
源代碼(例子)
myDict = {'1':[[1,2,3,4,'5']],
'2':[[1,2,3,4,'6']],
'3':[[]] }
with open('temp.json' , 'w') as f:
json.dump(muDict, f)
本來打算將一個類似上面的字典數據存成json,但是,最後卻報錯:
TypeError: Object of type ‘int32’ is not JSON serializable
看上去上面的代碼沒有什麼問題,怎麼會出錯呢?
最後發現,問題就出在int上。
myDict裏列表最內層的元素數據如[1,2,3,4,‘5’]中的1,2,3,4是int型的。
沒想到問題竟然出在這,把所有這些數據改爲float之後,問題解決。