simplejson是Python的一个json包,但是觉得有点不爽,就是不能序列化datetime,稍作修改就可以了:
原文:http://blog.csdn.net/hong201/article/details/3888588

# 可以序列化时间的json
import datetime
import decimal
import simplejsondef safe_new_datetime(d):kw = [d.year, d.month, d.day]if isinstance(d, datetime.datetime):kw.extend([d.hour, d.minute, d.second, d.microsecond, d.tzinfo])return datetime.datetime(*kw)def safe_new_date(d):return datetime.date(d.year, d.month, d.day)class DatetimeJSONEncoder(simplejson.JSONEncoder):"""可以序列化时间的JSON"""DATE_FORMAT = "%Y-%m-%d"TIME_FORMAT = "%H:%M:%S"def default(self, o):if isinstance(o, datetime.datetime):d = safe_new_datetime(o)return d.strftime("%s %s" % (self.DATE_FORMAT, self.TIME_FORMAT))elif isinstance(o, datetime.date):d = safe_new_date(o)return d.strftime(self.DATE_FORMAT)elif isinstance(o, datetime.time):return o.strftime(self.TIME_FORMAT)elif isinstance(o, decimal.Decimal):return str(o)else:return super(DatetimeJSONEncoder, self).default(o)

调用方法:

d1= {'name' : 'hong', 'dt' : datetime.datetime.now()}simplejson.dumps(d1,cls=DatetimeJSONEncoder)

转载于:https://www.cnblogs.com/baolin2200/p/7281379.html

让simplejson支持datetime类型的序列化相关推荐

  1. 解决Python自带的json序列化工具不能序列化datetime类型数据问题

    解决Python自带的json序列化工具不能序列化datetime类型数据问题 参考文章: (1)解决Python自带的json序列化工具不能序列化datetime类型数据问题 (2)https:// ...

  2. 字定义JSON序列化支持datetime格式序列化

    字定义JSON序列化支持datetime格式序列化 由于json.dumps无法处理datetime日期,所以可以通过自定义处理器来做扩展,如: import json from datetime i ...

  3. java实体类中有枚举类型_实体类的枚举属性--原来支持枚举类型这么简单,没有EF5.0也可以...

    通常,我们都是在业务层和界面层使用枚举类型,这能够为我们编程带来便利,但在数据访问层,不使用枚举类型,因为很多数据库都不支持,比如我们现在用的SqlServer2008就不支持枚举类型的列,用的时候也 ...

  4. datetime类型需要指定长度吗_你真的用对数据库了吗?

    作者:浮雷原文:https://juejin.im/post/6871969929365553165 背景 因为工作岗位的原因,负责制定了关于后端组数据库的规约规范,作为所有产品线的规范,历经几版的修 ...

  5. 解决Asp.net Mvc返回JsonResult中DateTime类型数据格式的问题

    问题背景: 在使用asp.net mvc 结合jquery esayui做一个系统,但是在使用使用this.json方法直接返回一个json对象,在列表中显示时发现datetime类型的数据在转为字符 ...

  6. C# WebAPI中DateTime类型字段在使用微软自带的方法转json格式后默认含T的解决办法...

    C# WebAPI中DateTime类型字段在使用微软自带的方法转json格式后默认含T的解决办法 原文:C# WebAPI中DateTime类型字段在使用微软自带的方法转json格式后默认含T的解决 ...

  7. 1.13.、1.14.Flink 支持的DataType和序列化、Flink Broadcast Accumulators Counters Distributed Cache

    1.13.Flink 支持的DataType和序列化 1.13.1.Flink支持的DataType 1.13.2.Flink的序列化 1.14.Flink Broadcast & Accum ...

  8. python mysql写入速度加快_解决python写入mysql中datetime类型遇到的问题

    解决python写入mysql中datetime类型遇到的问题 发布时间:2020-08-31 16:46:47 来源:脚本之家 阅读:89 作者:WilliamDescant 刚开始使用python ...

  9. python时间函数详解_Python:Numpy库基础分析——详解datetime类型的处理

    原标题:Python:Numpy库基础分析--详解datetime类型的处理 Python:Numpy库基础分析--详解datetime类型的处理 关于时间的处理,Python中自带的处理时间的模块就 ...

  10. mysql创建数据库没有默认值报错_详解Mysql数据库date, datetime类型设置0000-00-00默认值(default)报错问题...

    现象:MySQL5.7版本之后,date, datetime类型设置默认值"0000-00-00",出现异常:Invalid default value for 'time' 原因 ...

最新文章

  1. 伍哥原创之豆荚商城商品搜索架构介绍
  2. 【C语言】while后接分号“ ;”的用法
  3. mysql 实时备份_MySQL实现实时备份[转]
  4. 红队中易被攻击的一些重点系统漏洞整理
  5. 安装office时,提示某项注册表无法写入,请查看是否有管理员权限
  6. weblogic命令行操作
  7. java 正则 非贪婪_正则表达式中贪婪模式与非贪婪模式的区别
  8. 仅用 480 块 GPU 跑出万亿参数,中文最大规模多模态预训练模型发布
  9. 用 Java 实现人脸识别功能
  10. 精密单点定位/PPP软件GAMP学习之一
  11. Google Chrome 提示 Adobe Flash Player 不是最新版本
  12. 阿里云香港服务器速度快吗?
  13. 服务器怎么增加路由,给Windows服务器添加永久路由的脚本
  14. linux版高德导航软件下载,高德导航下载2021年最新版本_高德导航2021手机版下载-太平洋下载中心...
  15. html网页结尾署名,书信署名及敬语常识(转摘)
  16. 免费python编程自学网站-可以免费自学编程的12个网站
  17. 小白学Linux笔记(一)——安装虚拟机和Ubuntu
  18. 快速云:了解混合云连接最佳做法
  19. 买笔记本的13个验机步骤
  20. 【车间调度】变邻域遗传算法求解柔性作业车间调度问题

热门文章

  1. msys2编译ffmpeg:ERROR: libx264 not found
  2. 作为技术人员,年会中尽量找熟人喝酒
  3. 《流言终结者》,再见
  4. 管理感悟:能图像不文字
  5. linux安装gcc-4.9,centos7.2编译安装gcc-4.9.2
  6. android 动态申请camera权限,GitHub - yinzhengwei/permissiongranted: Android动态权限检测和申请管理...
  7. 类的虚函数表和虚函数在内存中的位置
  8. Tip: Unicode Debug和Debug有什么区别?
  9. 有关于类的定义赋值与调用总结
  10. 51cto,一个创造能让IT人员成长的论坛