猿问

Python 中JSON序列化类的日期类型的成员变量

import json
from datetime import datetime
class Person:
    def __init__(self,name,age):
        self.name = name
        self.age = age
        self.birth = datetime.now()

If __name__ == '__main__':
    p = Person('Jack',25)
    print(json.dumps(p,default=lambda obj:obj.__dict__,cls=ConvertDate))

class ConvertDate(json.JSONEncoder):
    def default(self,obj):
        If isinstance(obj,datetime):
            return obj.strftime('d%/%m/%y %H:%M:%S)
       else:
            return json.JSONEncoder.default(self,obj)

日期不能被序列话,但是已经引用类转换过了,为什么还不可以呢?如果把strftime直接写在birth后面(datetime.now().strftime('d%/%m/%y %H:%M:%S))这样就可以,而且不需要cls了,请问一下如何解?

CodingW
浏览 1833回答 0
0回答
随时随地看视频慕课网APP

相关分类

Python
我要回答