1.一个简单的方法来修补json模块,这样序列将支持日期时间。

        import json
import datetime json.JSONEncoder.default = lambda self, obj: (obj.isoformat() if isinstance(obj, datetime.datetime) else None) result = json.dumps(ret)
print(result)

  

[{"date": "2016-09-25T21:12:19.135649", "id": 16}]

2.该模块为您提供了一个默认的编码器:json.JSONEncoder。您需要扩展这个提供您的实现default方法序列化对象。

        import json
import datetime
from time import mktime
#
# class MyEncoder(json.JSONEncoder):
# def default(self, obj):
# if isinstance(obj, datetime.datetime):
# return str(mktime(obj.timetuple()))
#
# return json.JSONEncoder.default(self, obj)
# result = json.dumps(ret, cls = MyEncoder)

  

[{"date": "1474809139.0", "id": 16}]

  

方法3:我最喜欢的, 同时可以更好的应用于tornado的序列格式化

解决办法:

from decimal import Decimal
import datetime, json class ComplexEncoder(json.JSONEncoder):
def default(self, obj):
if isinstance(obj, datetime.datetime):
return obj.strftime("%Y-%m-%d %H:%M:%S")
elif isinstance(obj, Decimal):
return str(obj)
else:
# return json.JSONEncoder.default(self, obj)
       return str(obj) # 根据需求进行修改 if __name__ == '__main__': data = [{"ProjectName": "测试", "UserID": datetime.datetime.now(), "ProjectCreateTime": "2017-12-18 15:15", "ProjectPublic": "",
"ProjectOrgan": Decimal()}]
print(data)
print(json.dumps(data, cls=ComplexEncoder, ensure_ascii=False))

            res = SelectProInfor(UserID)
for i in res:
print(i)
for k, va in i.items():
if isinstance(va, decimal.Decimal):
i[k] = str(va)
if isinstance(va, object):
i[k] = str(va)

TypeError: datetime.datetime(2016, 9, 25, 21, 12, 19, 135649) is not JSON serializable解决办法(json无法序列化对象的解决办法)的更多相关文章

  1. TypeError: datetime.datetime(2016, 9, 25, 21, 12, 19, 135649) is not JSON serializable解决办法

    1.一个简单的方法来修补json模块,这样序列将支持日期时间. import json import datetime json.JSONEncoder.default = lambda self, ...

  2. 2016年12月17日 星期六 --出埃及记 Exodus 21:12

    2016年12月17日 星期六 --出埃及记 Exodus 21:12 "Anyone who strikes a man and kills him shall surely be put ...

  3. 机器学习入门-随机森林温度预测的案例 1.datetime.datetime.datetime(将字符串转为为日期格式) 2.pd.get_dummies(将文本标签转换为one-hot编码) 3.rf.feature_importances_(研究样本特征的重要性) 4.fig.autofmt_xdate(rotation=60) 对标签进行翻转

    在这个案例中: 1. datetime.datetime.strptime(data, '%Y-%m-%d') # 由字符串格式转换为日期格式 2. pd.get_dummies(features)  ...

  4. datetime.datetime.now()时间格式转化是碰到的问题

    import datetime print datetime.datetime.now() # 2016-03-28 17:16:00.812000 a = ‘2016-03-28 17:16:00. ...

  5. 孤荷凌寒自学python第三十天python的datetime.datetime模块

     孤荷凌寒自学python第三十天python的datetime.datetime模块 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) datetime.datetime模块包含了:datet ...

  6. 生成二维码 加密解密类 TABLE转换成实体、TABLE转换成实体集合(可转换成对象和值类型) COOKIE帮助类 数据类型转换 截取字符串 根据IP获取地点 生成随机字符 UNIX时间转换为DATETIME\DATETIME转换为UNIXTIME 是否包含中文 生成秘钥方式之一 计算某一年 某一周 的起始时间和结束时间

    生成二维码 /// <summary>/// 生成二维码/// </summary>public static class QRcodeUtils{private static ...

  7. U3D笔记11:47 2016/11/30-15:15 2016/12/19

    11:47 2016/11/30Before you can load a level you have to add it to the list of levels used in the gam ...

  8. datetime is not json serializable

    python, datetime is not json serializable import datetime def json_serial(obj): """JS ...

  9. OneZero第五次站立会议(2016.3.25)

    会议时间:2016年3月25日 12:45~12:57 会议成员:冉华,张敏,王巍,夏一鸣. 会议目的:汇报前一天工作,全体成员评论,确定会后修改内容. 会议内容:1.界面原型已经确定.(夏负责) 2 ...

随机推荐

  1. explore your hadoop data and get real-time results

    deep api integration makes getting value from your big data easy 深度api集成使你大数据訪问更加easy Elasticsearch ...

  2. Python isalpha() 方法

    描述 Python isalpha() 方法检测字符串是否只由字母或汉字组成. 语法 isalpha() 方法语法: S.isalpha() 参数 无. 返回值 如果字符串至少有一个字符并且所有字符都 ...

  3. 【Android】5.2 图像按钮和图片格式

    分类:C#.Android.VS2015: 创建日期:2016-02-07 一.简介 1.ImageBtton ImageBtton的用法和Button相似,也有Click事件,用法也和Button一 ...

  4. java playframework

    刚学了java不久就让我们尝试架构,就选择了一个比較简单的架构 play framework直接上图 这里的执行环境是JDK1.7,我试了一下jdk1.8不行出问题了play使用的是play-1.2. ...

  5. JAVA文件转换为Base64

    JAVA文件转换为Base64 import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream ...

  6. hdoj1251 统计难题 字典树

    统计难题 Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 131070/65535 K (Java/Others)Total Submi ...

  7. JS模块的写法

    该文章转自阮一峰个人网站,仅做学习之用: 一.原始写法 模块就是实现特定功能的一组方法. 只要把不同的函数(以及记录状态的变量)简单地放在一起,就算是一个模块. function m1(){ //.. ...

  8. 在IIS6上部署WebService

    在IIS6上部署WebService 2016-12-07 目录: 1 创建web service项目2 部署WebService3 浏览页面 1 创建web service项目 返回 用Visual ...

  9. Gradle修改本地仓库的位置

    http://blog.csdn.net/tower888/article/details/38879955 http://blog.csdn.net/z69183787/article/detail ...

  10. [未解决]Ajax-读取并解析XML,动态生成select下拉列表框

    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/ ...