我收到了这个错误:
TypeError: datetime.datetime(2012, 2, 12, 0, 47, 6, 542000) is not JSON serializable
当jinja试图解析这一行时:
var root_node_info = eval({{ nd|tojson|safe }});
nd包含来自我的mongo数据库的bson对象。其中一个字段是日期时间对象。我怎样才能让烧瓶正确序列化?
这是我的mongokit模型(如果相关)
class Item(Document):
structure = {
"tldr": unicode,
"body": unicode,
"user": unicode,
"time_submitted": datetime.datetime,
"upvotes": int,
"downvotes": int,
"tags": [unicode]
}
validators = {
}
indexes = [
{'fields':['user']},
{'fields':['tags']}
]
use_dot_notation = True
required_fields = ['body', 'user', 'time_submitted']
default_values = {'time_submitted': datetime.datetime.utcnow}
def __repr__(self):
return '<item %r>' % (self._id)
答案 0 :(得分:5)
JSON不处理datetime
个对象。标准做法是将它们编码为ISO格式的字符串。这个SO question about JSON提供了示例。您需要自己register新的JSON编码器过滤器。
答案 1 :(得分:2)