wai*_*kuo 3 python datetime json
我原来的字典是
A = {                                                                                                  
    'date': datetime.date(2013, 1, 1),
    'price': 100
}
Run Code Online (Sandbox Code Playgroud)
由于datetime.date不可序列化,我添加了一个默认函数来处理:
B = json.dumps(A, default=lambda obj:obj.isoformat() if hasattr(obj, 'isoformat') else obj)
Run Code Online (Sandbox Code Playgroud)
我的问题是,'date'当我用json.loads它将字段转换回原始字典时,如何反序列化字段?
from datetime import datetime
def load_with_datetime(pairs, format='%Y-%m-%d'):
    """Load with dates"""
    d = {}
    for k, v in pairs:
        if isinstance(v, basestring):
            try:
                d[k] = datetime.strptime(v, format).date()
            except ValueError:
                d[k] = v
        else:
            d[k] = v             
    return d
dump = json.dumps(A, default = f)
json.loads(dump, object_pairs_hook=load_with_datetime)
# {u'date': datetime.date(2013, 1, 1), u'price': 100}
Run Code Online (Sandbox Code Playgroud)
        |   归档时间:  |  
           
  |  
        
|   查看次数:  |  
           5109 次  |  
        
|   最近记录:  |