采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
在使用小程序调用天气api请求时出错,错误的原因是CommonWeatherResult对象不是一个可序列化为JSON的对象。 在老师视频的时候只改了传回结果的函数方式WeatherAPIProxy.ha_requestcity.get(‘city’), timeout=HA_TIMEOUT),但好像因为CommonWeatherResult是一个类还要处理一下返回的结果,使得将返回的类结果转换为JSON的{}形式
这个问题我今天遇到了,看完视频后,看第二遍3-1的时候result = juhe.weather(city).to_dict()就要这样调用,要把对象转成字典再return JsonResponse,否则TypeError: Object of type CommonWeatherResult is not JSON serializable
嗯,Python类不支持直接的JSON序列化,可以在类里面添加序列化函数,也可添加转换函数返回可序列化对象。比如:
class JsonDemo: def __init__(self): self.name = 'jsondemo' self.age = 10 def to_dict(self): d = {} d['name'] = self.name d['age'] = self.age return d # 序列化使用 json_str = json.dumps(JsonDemo().to_dict())
登录后可查看更多问答,登录/注册
0到1完整项目实战过程,是难得的Django+小程序全栈项目体验。
1.7k 7
1.4k 23
3.1k 21
1.7k 14
1.5k 12
购课补贴联系客服咨询优惠详情
慕课网APP您的移动学习伙伴
扫描二维码关注慕课网微信公众号