Python 如何使用webpy将MySQL查询格式化为JSON?

Python 如何使用webpy将MySQL查询格式化为JSON?,python,mysql,json,web.py,Python,Mysql,Json,Web.py,我正在尝试使用webpy查询MySQL数据库。从SQL查询中,我得到以下信息 <Storage {'title': u'Learn web.py', 'done': 0, 'id': 0L, 'mytime': datetime.datetime(2011, 5, 30, 10, 53, 9)}> 我尝试使用json序列化数据。将(数据)转储为json格式,但是我收到一个错误,指示数据不可序列化 我可能会遍历每个键值对并将其放入另一个字典中,但这似乎太多工作了 对最佳方法有什么

我正在尝试使用webpy查询MySQL数据库。从SQL查询中,我得到以下信息

<Storage {'title': u'Learn web.py', 'done': 0, 'id': 0L, 'mytime': datetime.datetime(2011, 5, 30, 10, 53, 9)}>

我尝试使用
json序列化数据。将(数据)
转储为json格式,但是我收到一个错误,指示数据不可序列化

我可能会遍历每个键值对并将其放入另一个字典中,但这似乎太多工作了

对最佳方法有什么建议吗

编辑:
我想我的问题是因为数据中有
datetime.datetime(2011,5,30,10,53,9)
。我从数据库中删除了
mytime
列,一切正常。有没有办法将
mytime
列包含到JSON字符串中?

尝试将其转换为UNIX时间戳:

import time
result.mytime = time.mktime(result.mytime.utctimetuple())

尝试将其转换为UNIX时间戳:

import time
result.mytime = time.mktime(result.mytime.utctimetuple())

您可以扩展json.JSONEncoder来处理日期:

我没有使用存储对象作为参数来测试它,但是正如您所说的,当查询中没有日期时,它可以工作,我认为这应该可以工作。(有关扩展编码器对象的信息,请参阅json模块)

然后,如果“结果”是您的存储对象

json_string = json.dumps(result, cls=ExtendedEncoder)

您可以扩展json.JSONEncoder来处理日期:

我没有使用存储对象作为参数来测试它,但是正如您所说的,当查询中没有日期时,它可以工作,我认为这应该可以工作。(有关扩展编码器对象的信息,请参阅json模块)

然后,如果“结果”是您的存储对象

json_string = json.dumps(result, cls=ExtendedEncoder)