[閒聊] is not JSON serializable

看板Python作者 (raison detre)時間11年前 (2014/10/06 17:11), 編輯推噓2(203)
留言5則, 2人參與, 最新討論串1/2 (看更多)
請問一下 我想自訂一個方便我自己使用的datetime class 可是在序列化為json格式的時候報錯 TypeError: "2014-10-06 17:06:53.743" is not JSON serializable 請問我__repr__裏頭有那裡寫錯嗎 該怎麼修改比較好 class MyDateTime(datetime.datetime): def __str__(self): return self.to_s() def __repr__(self): return json.dumps(self.to_s()) def to_s(self): return '%04d-%02d-%02d %02d:%02d:%02d.%03d' % (self.year, self.month, self.day, self.hour, self.minute, self.second, self.microsecond/1000.0) b = MyDateTime.now() print json.dumps( b ) -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.250.8.223 ※ 文章網址: http://www.ptt.cc/bbs/Python/M.1412586687.A.4F7.html

10/06 23:52, , 1F
json.dumps是把dict/list轉成json format的string 你的
10/06 23:52, 1F

10/06 23:52, , 2F
用法似乎不太像
10/06 23:52, 2F

10/07 00:27, , 3F
先不要理我推文 我好像誤會什麼了
10/07 00:27, 3F

10/07 10:23, , 4F
b是個MyDateTime物件,json看不懂,所以錯誤
10/07 10:23, 4F

10/07 10:24, , 5F
print json.dumps(str(b))可執行,但是你要的嗎?
10/07 10:24, 5F
文章代碼(AID): #1KCbo_Jt (Python)
文章代碼(AID): #1KCbo_Jt (Python)