最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python使用json序列化datetime類型實(shí)例解析

 更新時(shí)間:2018年02月11日 11:31:34   作者:junli_chen  
這篇文章主要介紹了python使用json序列化datetime類型實(shí)例解析,分享了相關(guān)代碼示例,小編覺得還是挺不錯(cuò)的,具有一定借鑒價(jià)值,需要的朋友可以參考下

使用python的json模塊序列化時(shí)間或者其他不支持的類型時(shí)會(huì)拋異常,例如下面的代碼:

# -*- coding: cp936 -*-
from datetime import datetime

import json

if __name__=='__main__':
 now = datetime.now()
 json.dumps({'now':now})

運(yùn)行會(huì)出現(xiàn)下面的錯(cuò)誤信息:

Traceback (most recent call last):
 File "C:\Users\xx\Desktop\t.py", line 8, in <module>
  json.dumps({'now':now})
 File "C:\Python27\lib\json\__init__.py", line 231, in dumps
  return _default_encoder.encode(obj)
 File "C:\Python27\lib\json\encoder.py", line 201, in encode
  chunks = self.iterencode(o, _one_shot=True)
 File "C:\Python27\lib\json\encoder.py", line 264, in iterencode
  return _iterencode(o, 0)
 File "C:\Python27\lib\json\encoder.py", line 178, in default
  raise TypeError(repr(o) + " is not JSON serializable")
TypeError: datetime.datetime(2012, 12, 26, 11, 51, 33, 409000) is not JSON serializable

意思是說(shuō)datetime類不支持Json序列化

我們需要對(duì)json做下擴(kuò)展,讓它可以支持datetime類型。

class ComplexEncoder(json.JSONEncoder):
  def default(self, obj):
    if isinstance(obj, datetime):
      return obj.strftime('%Y-%m-%d %H:%M:%S')
    elif isinstance(obj, date):
      return obj.strftime('%Y-%m-%d')
    else:
      return json.JSONEncoder.default(self, obj)

在調(diào)用json.dumps時(shí)需要指定cls參數(shù)為ComplexEncoder

例如:

json.dumps({'now':now}, cls=ComplexEncoder)

總結(jié)

以上就是本文關(guān)于python使用json序列化datetime類型實(shí)例解析的全部?jī)?nèi)容,希望對(duì)大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站其他相關(guān)專題,如有不足之處,歡迎留言指出。感謝朋友們對(duì)本站的支持!

相關(guān)文章

最新評(píng)論

侯马市| 马鞍山市| 阿坝县| 玉门市| 滕州市| 山东| 云浮市| 桑日县| 巧家县| 开平市| 万载县| 房山区| 东丽区| 河津市| 巴林左旗| 宝丰县| 霍林郭勒市| 白朗县| 富宁县| 治县。| 莱州市| 沙湾县| 汉源县| 望谟县| 青神县| 萨嘎县| 商洛市| 新密市| 炎陵县| 卓资县| 三亚市| 巩留县| 固始县| 桂平市| 峨山| 南江县| 保德县| 湖北省| 宁波市| 高雄县| 五台县|