繁体   English   中英

Django 编辑 JsonResponse

[英]Django Editing JsonResponse

如何在 Django 中向这个 JsonResponse 添加“points =”?

我的代码如下所示:

return JsonResponse(data=points, safe=False, json_dumps_params={'indent': 1})

结果:

[{“x”:0,“y”:1},{“x”:0.315397047887207,“y”:0.694608645422627}]

我想做的事:

点=[{“x”:0,“y”:1},{“x”:0.315397047887207,“y”:0.694608645422627}]

看起来您不需要 JSON 响应。 您需要在 JSON 中传递一个字符串。

对于 output 像这样:points=[ { "x": 0, "y": 1 }, { "x": 0.315397047887207, "y": 0.694608645422627 } ]

points_dict = {
    // value for points_key you can do some string concatenation for dynamic value
    'points_key': 'points=[ { "x": 0, "y": 1 }, { "x": 0.315397047887207, "y": 0.694608645422627 } ]'
}
return JsonResponse(data=points_dict, safe=False, json_dumps_params={'indent': 1})

正如我之前提到的,您想要的响应不是 JSON 格式。 正如另一个答案所建议的那样,您可以将其转换为字符串并像这样发送:

pointsstr = f'points=[{points_dict}]'
return HttpResponse(pointsstr)

如果您仍想使用 JSON 格式,那么我建议您执行以下操作:

return JsonResponse(data={'points': points}, safe=False, json_dumps_params={'indent': 1})

这样,您的响应将是: {"points": [{ "x": 0, "y": 1 }, { "x": 0.315397047887207, "y": 0.694608645422627 }]}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM