如何转换urlencode请求主体(如PHP的http_build_query
函数生成的主体),如下所示:
foo=bar&baz=3&metadata[name]=john&metadata[lastname]=smith
像这样插入嵌套的python字典中?
{
'foo': 'bar',
'baz': 3,
'metadata': {
'name': 'john',
'lastname': 'smith'
}
}
这似乎是一个常见问题-因此,我确信为此存在一些库,最好避免为此编写自己的函数。例如,multidimensional_urlencode解决了相反的问题-从字典生成查询字符串-但不进行解析。
答案 0 :(得分:2)
您可以使用jQuery-Unparam库来实现此目的:
from jquery_unparam import jquery_unparam
url = "foo=bar&baz=3&metadata[name]=john&metadata[lastname]=smith"
print(jquery_unparam(url))
输出:
{'foo': 'bar', 'baz': '3', 'metadata': {'name': 'john', 'lastname': 'smith'}}