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


Posted in Python onMarch 07, 2018

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结合API实现即时天气信息
Jan 19 Python
Python的Asyncore异步Socket模块及实现端口转发的例子
Jun 14 Python
python2.7读取文件夹下所有文件名称及内容的方法
Feb 24 Python
python DataFrame获取行数、列数、索引及第几行第几列的值方法
Apr 08 Python
pandas多级分组实现排序的方法
Apr 20 Python
推荐10款最受Python开发者欢迎的Python IDE
Sep 16 Python
解决pyttsx3无法封装的问题
Dec 24 Python
对python修改xml文件的节点值方法详解
Dec 24 Python
详解python selenium 爬取网易云音乐歌单名
Mar 28 Python
python实现五子棋人机对战游戏
Mar 25 Python
通过selenium抓取某东的TT购买记录并分析趋势过程解析
Aug 15 Python
python中的sys模块和os模块
Mar 20 Python
教你用Python创建微信聊天机器人
Mar 31 #Python
为什么入门大数据选择Python而不是Java?
Mar 07 #Python
详解Python中如何写控制台进度条的整理
Mar 07 #Python
python爬虫爬取网页表格数据
Mar 07 #Python
python使用mysql的两种使用方式
Mar 07 #Python
python表格存取的方法
Mar 07 #Python
Django中Model的使用方法教程
Mar 07 #Python
You might like
php单例模式实现(对象只被创建一次)
2012/12/05 PHP
thinkphp3.2.2实现生成多张缩略图的方法
2014/12/19 PHP
动态加载iframe
2006/06/16 Javascript
Jquery+JSon 无刷新分页实现代码
2010/04/01 Javascript
JavaScript去掉空格的方法集合
2010/12/28 Javascript
jQuery中的.bind()、.live()和.delegate()之间区别分析
2011/06/08 Javascript
jQuery动态添加 input type=file的实现代码
2012/06/14 Javascript
js倒计时小程序
2013/11/05 Javascript
利用JQuery制作符合Web标准的QQ弹出消息
2014/01/14 Javascript
JS实现的4种数字千位符格式化方法分享
2015/03/02 Javascript
JavaScript设置获取和设置属性的方法
2015/03/04 Javascript
jquery.form.js实现将form提交转为ajax方式提交的方法
2015/04/07 Javascript
jQuery实现响应鼠标背景变化的动态菜单效果代码
2015/08/27 Javascript
node.js下LDAP查询实例分享
2015/09/30 Javascript
JavaScript实现打开链接页面的方式汇总
2016/06/02 Javascript
Web打印解决方案之普通报表打印功能
2016/08/29 Javascript
JS身份证信息验证正则表达式
2017/06/12 Javascript
element-ui 设置菜单栏展开的方法
2018/08/22 Javascript
解决IE11 vue +webpack 项目中数据更新后页面没有刷新的问题
2018/09/25 Javascript
JavaScript数组类型Array相关的属性与方法详解
2020/09/08 Javascript
python中使用xlrd、xlwt操作excel表格详解
2015/01/29 Python
Python pandas实现excel工作表合并功能详解
2019/08/29 Python
利用OpenCV和Python实现查找图片差异
2019/12/19 Python
python GUI库图形界面开发之PyQt5下拉列表框控件QComboBox详细使用方法与实例
2020/02/27 Python
python 已知三条边求三角形的角度案例
2020/04/12 Python
python 比较字典value的最大值的几种方法
2020/04/17 Python
Keras中的两种模型:Sequential和Model用法
2020/06/27 Python
python中HTMLParser模块知识点总结
2021/01/25 Python
JACK & JONES瑞典官方网站:杰克琼斯欧式风格男装
2017/12/23 全球购物
Monki官网:斯堪的纳维亚的独立时尚品牌
2020/11/09 全球购物
我有一个char * 型指针正巧指向一些int 型变量, 我想跳过它们。 为什么如下的代码((int *)p)++; 不行?
2013/05/09 面试题
Unix如何添加新的用户
2014/08/20 面试题
委托书的格式
2014/08/01 职场文书
我的梦想演讲稿1000字
2014/08/21 职场文书
庆七一宣传标语
2014/10/08 职场文书
学术会议通知范文
2015/04/15 职场文书