gpt4 book ai didi

Django JSONResponse 返回一个字符串而不是 JSON

转载 作者:行者123 更新时间:2023-12-04 13:02:38 25 4
gpt4 key购买 nike

我正在使用 Django View 返回一个 JSON 对象。但是,当我使用下面的方法时,我得到的是字典的字符串表示,而不是 JSON 对象。

def api_dataset_index(request):
upload_file = request.FILES.get('file')
if upload_file:
config_str = upload_file.read().decode("utf-8")
d = Dataset.from_yaml(config_str)
return JsonResponse(model_to_dict(d))
回复 - "{\"id\": 31, \"name\": \"effort\", \"description\": \"Expressions of customer effort or ease.\", \"multilabeled\": false}"我在这里做错了吗?还是 JSONResponse 应该返回一个字符串?
编辑 -
字符串是有效的 json 表示。但是,django.http 方法“JsonResponse”的内容类型是作为字符串而不是对象发送的。如果传递给 JsonResponse() 方法的结构是一个列表,那么编码就完成了,也就是说,客户端将它作为一个 json 对象而不只是一个字符串接收。
编辑2
原来我遇到的问题是在客户端代码上。

最佳答案

这是 JSON 对象的字符串表示形式,应该是返回的内容。在客户端,你可以从它创建一个 JSON 对象,只需将它与类似的东西配对:

var jsonObj = JSON.parse(response)

请参阅此处的注释: W3Schools JSON.parse()或在这里 MDN JSON.parse()

关于Django JSONResponse 返回一个字符串而不是 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52066079/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com