相关疑难解决方法(0)

无法将日期时间序列化为来自Cherrypy的JSON

我正在尝试发送一个记录列表以响应Ajax查询.这种方法很有效,除非结果包含一个日期时间字段,当我的进程因错误而失败时datetime.date(2011, 11, 1) is not JSON serializable.

我试图将我发现的答案与一个非常相似的问题结合在一起,使用CherryPy文档中的说明来使用自定义的json_out编码器,但我不清楚函数必须具有哪些签名.我写的函数是:

 def json_encoder(thing):

      if hasattr(thing, 'isoformat'):
           return thing.isoformat()
      else:
           return str(thing)
Run Code Online (Sandbox Code Playgroud)

现在任何使用json_out(即使输出中没有日期时间)也会给我错误TypeError: json_encoder() takes exactly 1 argument (0 given).但是如果编码器没有参数,它如何接收要编码的对象?

(另外,我假设我使用str(thing)的默认编码方法是错误的,这应该通过调用json编码的默认处理程序来完成,但我不知道如何调用该方法).

python datetime json cherrypy

2
推荐指数
2
解决办法
5031
查看次数

标签 统计

cherrypy ×1

datetime ×1

json ×1

python ×1