django request.query_params解析错误

6yoyoihd  于 2023-04-13  发布在  Go
关注(0)|答案(1)|浏览(113)

Django request.query_params返回一个格式不正确的QueryDict。例如,如果查询参数为:

example_param=[{"id":"f8","example_action":"kill"}]

request.query_params返回:

<QueryDict: {'example_param': ['[{"id":"f8", "example_action": "kill"}]']}>

注意example_param被解析为包含字符串的列表,这是不正确的。
如何将request.query_params作为有效的json返回?

r1wp621o

r1wp621o1#

这是完全正确的,你只是误解了你在看什么。QueryDict内部总是包含每个键的值列表,它不会以任何方式解析这些值,当然也不会解析为JSON。你只需要自己解析它:

import json

...

example = json.loads(request.query_params['example_param'])

相关问题