解决Django响应JsonResponse返回json格式数据报错问题
代码
returnJsonResponse({"name":"tom"})
报错:
TYPEERROR:Inordertoallownon-dictobjectstobeserialized
setthesafeparmetertoFalse
解决:
returnJsonResponse({"name":"tom"},safe=False)
增加safe=false,使其接受列表
补充知识:python里面JsonResponse(book_list,safe=False)
代码为:
#查询所有图书、增加图书 defget(self,request): queryset=BookInfo.objects.all() book_list=[] forbookinqueryset: book_list.append({ 'id':book.id, 'bread':book.bread }) returnJsonResponse(book_list,safe=False)
遇到问题:
JsonResponse(book_list,safe=False)
safe=False这是什么鬼?
解决方案:
down下源码后:
def__init__(self,data,encoder=DjangoJSONEncoder,safe=True, json_dumps_params=None,**kwargs): ifsafeandnotisinstance(data,dict): raiseTypeError( 'Inordertoallownon-dictobjectstobeserializedsetthe' 'safeparametertoFalse.' ) ifjson_dumps_paramsisNone: json_dumps_params={} kwargs.setdefault('content_type','application/json') data=json.dumps(data,cls=encoder,**json_dumps_params) super(JsonResponse,self).__init__(content=data,**kwargs)
最终答案:
'Inordertoallownon-dictobjectstobeserializedsetthe''safeparametertoFalse.'
以上这篇解决Django响应JsonResponse返回json格式数据报错问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。