Python 如何使用webpy将MySQL查询格式化为JSON?
我正在尝试使用webpy查询MySQL数据库。从SQL查询中,我得到以下信息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格式,但是我收到一个错误,指示数据不可序列化 我可能会遍历每个键值对并将其放入另一个字典中,但这似乎太多工作了 对最佳方法有什么
<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)