之前使用pyramid框架作为服务器程序,为android端提供接口时,已经设置
但是运行 总是会出现
由于返回值中含有中文,而这样返回的值类型是unicode类型,我又花了很长一段时间摸索怎么转化成中文,后来我发现android可以自动转化,实在时很无语。
@view_config(renderer='json')
但是运行 总是会出现
TypeError: xxx is not JSON serializable
因为我到返回值是一个对象集合,尝试着使用过json的dumps方法,cPicket的dumps方法,jsonpickle的encode方法,也使用了转化函数,效果都不如意,最后,通过在网上查找资料,我在model类中添加以下代码片段,搞定
DBSession = scoped_session(sessionmaker(extension=ZopeTransactionExtension()))
Base = declarative_base()
def sqlalchemy_json(self, request):
obj_dict = self.__dict__
return dict((key, obj_dict[key]) for key in obj_dict if not key.startswith("_"))
Base.__json__ = sqlalchemy_json
由于返回值中含有中文,而这样返回的值类型是unicode类型,我又花了很长一段时间摸索怎么转化成中文,后来我发现android可以自动转化,实在时很无语。