python2.7 json 转换日期的处理的示例

yipeiwu_com6年前Python基础

python2.7中 集成了json的处理(simplejson),但在实际应用中,从mysql查询出来的数据,通常有日期格式,这时候,会报一个错:

TypeError: datetime.datetime(2007, 7, 23, 12, 24, 25) is not JSON serializable

说明日期转换出问题,后来再网上找到了解决办法。

import json
from datetime import date, datetime


def __default(obj):
  if isinstance(obj, datetime):
    return obj.strftime('%Y-%m-%dT%H:%M:%S')
  elif isinstance(obj, date):
    return obj.strftime('%Y-%m-%d')
  else:
    raise TypeError('%r is not JSON serializable' % obj)

print json.dumps({
    'd': datetime.now(), 
    'today': date.today(), 
    'x': 111
  }, default=__default)

采用类似的方式,在得到mysql数据集后,需要序列化时,用如下方式就可以了。 

conn=self.getConnection();
cursor=conn.cursor();
cursor.execute(sqlText,params);
result=cursor.fetchall()
jsonstr=json.dumps(myresult,default=__default)
print jsonstr

关键点在于覆盖了default 方法。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python实现京东秒杀功能代码

本文实例为大家分享了Python实现京东秒杀功能的具体代码,供大家参考,具体内容如下 #Python 3.5 #coding:utf-8 #import scrapy from s...

利用matplotlib+numpy绘制多种绘图的方法实例

利用matplotlib+numpy绘制多种绘图的方法实例

前言 matplotlib 是Python最著名的绘图库,它提供了一整套和matlab相似的命令API,十分适合交互式地进行制图。本文将以例子的形式分析matplot中支持的,分析中常用...

解决Scrapy安装错误:Microsoft Visual C++ 14.0 is required...

问题描述 当前环境win10,python_3.6.1,64位。 在windows下,在dos中运行pip install Scrapy报错: building 'twisted.t...

python图形绘制奥运五环实例讲解

python图形绘制奥运五环实例讲解

1. 适当的空格 逻辑行首的空白表示逻辑表示层次关系 从而决定分组 语句从新行的第一列开始 风格统一 都用四个空格 不能随便加空格 奥运五环   #绘制奥运五环 impo...

Python多层嵌套list的递归处理方法(推荐)

问题:用Python处理一个多层嵌套list ['and', 'B', ['not', 'A'],[1,2,1,[2,1],[1,1,[2,2,1]]], ['not', 'A',...