相关疑难解决方法(0)

如何克服"datetime.datetime而不是JSON可序列化"?

我有一个基本的词典如下:

sample = {}
sample['title'] = "String"
sample['somedate'] = somedatetimehere
Run Code Online (Sandbox Code Playgroud)

当我尝试做的时候,jsonify(sample)我得到:

TypeError: datetime.datetime(2012, 8, 8, 21, 46, 24, 862000) is not JSON serializable

我能做些什么,以便我的字典样本可以克服上述错误?

注意:虽然它可能不相关,但字典是从mongodb中检索记录生成的,当我打印输出时str(sample['somedate']),输出是2012-08-08 21:46:24.862000.

python json

626
推荐指数
19
解决办法
44万
查看次数

Python到JSON序列化在Decimal上失败

我有一个包含一些小数的python对象.这导致json.dumps()中断.

我从SO得到了以下解决方案(例如Python JSON序列化一个Decimal对象),但重新解决的解决方案仍然不起作用.Python网站 - 有完全相同的答案.

有任何建议如何使这项工作?

谢谢.以下是我的代码.看起来dumps()甚至没有进入专门的编码器.

clayton@mserver:~/python> cat test1.py
import json, decimal

class DecimalEncoder(json.JSONEncoder):
        def _iterencode(self, o, markers=None):
                print "here we go o is a == ", type(o)
                if isinstance(o, decimal.Decimal):
                        print "woohoo! got a decimal"
                        return (str(o) for o in [o])
                return super(DecimalEncoder, self)._iterencode(o, markers)

z = json.dumps( {'x': decimal.Decimal('5.5')}, cls=DecimalEncoder )
print z
clayton@mserver:~/python> python test1.py
Traceback (most recent call last):
  File "test1.py", line 11, in <module>
    z = json.dumps( {'x': decimal.Decimal('5.5')}, cls=DecimalEncoder )
  File …
Run Code Online (Sandbox Code Playgroud)

python json decimal

30
推荐指数
3
解决办法
4万
查看次数

标签 统计

json ×2

python ×2

decimal ×1