You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Python的requests.get中发送嵌套字典作为请求参数?

在requests.get中发送嵌套字典作为请求参数的正确方式

方式一:利用requests默认的嵌套参数编码(生成key[subkey]格式)

requests原生支持嵌套字典的参数编码,会自动将嵌套结构转换为父键[子键]的格式,只要后端能识别这种格式即可。

你的代码实际会生成如下格式的请求URL(解码后):

Service URL/?query_params[list1]=&query_params[list2]=&query_params[list3]=&query_params[data]=something

如果后端可以解析这种格式,直接使用原代码即可。

方式二:将嵌套字典转为JSON字符串传递

如果后端期望接收完整的JSON结构作为query_params的值,可以先把嵌套字典序列化为JSON字符串,再作为参数传递:

import requests
import json

qp_args = {"query_params": json.dumps({
    "list1": [], 
    "list2": [], 
    "list3": [],
    "data": "something"
})}
data = requests.get(url="Service URL", params=qp_args, timeout=2)

此时query_params的值是完整的JSON字符串,后端可以通过解析JSON还原嵌套字典结构。

方式三:手动构造符合后端要求的参数格式

如果后端有特定的参数格式规范,可以手动构造扁平化的参数字典:

import requests

qp_args = {
    "query_params[list1]": [],
    "query_params[list2]": [],
    "query_params[list3]": [],
    "query_params[data]": "something"
}
data = requests.get(url="Service URL", params=qp_args, timeout=2)

这种方式和方式一效果一致,但更灵活,适合需要自定义参数格式的场景。


内容的提问来源于stack exchange,提问作者Abinash Biswal

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 02:20:38