gpt4 book ai didi

python - 将 x-www-form-urlencoded 查询字符串转换为字典

转载 作者:行者123 更新时间:2023-11-28 19:30:28 28 4
gpt4 key购买 nike

给定一个来自 x-www-form-urlencoded 表单数据的查询字符串。

data[foo]=bar&data[bar]=baz

我想把它翻译成 Python 字典,例如

{'data': {'foo': 'bar', 'bar': 'baz'}}

或者类似的东西。基本上,类似于在 PHP 的 $_POST 变量中处理此表单数据的方式:

Array
(
[data] => Array
(
[foo] => bar
[bar] => baz
)

)

但是 urlparse.parse_qs() 只是给我:

{'data[bar]': ['baz'], 'data[foo]': ['bar']}

这不是世界末日。我可以轻松地将字典中的值称为 data[bar] 或其他任何内容。我想我有点惊讶没有执行这种解析的模块,至少我能找到。有人知道吗?

额外的问题:可能有原因为什么这样的库在 Python 中不存在,例如PHP 将表单数据转换为多层数组的过程不知何故是错误的?

最佳答案

目前正在使用它手动将其转换为“真正的”python dict。但是,仍然可能存在我尚未遇到的未知问题。

from urllib.parse import parse_qs

str_raw_data = str(bytes_raw_data, 'utf-8') # bytes to string

formatted_data_dict = parse_qs(str_raw_data)
data = {}
for k, v in formatted_data_dict.items():
if len(v) == 1:
data[k] = v[0]
else:
data[k] = v

return data

关于python - 将 x-www-form-urlencoded 查询字符串转换为字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6877497/

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