在Python中解析嵌套的urlencode请求体

2024-09-28 05:43:00 发布

您现在位置:Python中文网/ 问答频道 /正文

如何转换urlencode请求体(如PHP的^{}函数生成的请求体),如下所示:

foo=bar&baz=3&metadata[name]=john&metadata[lastname]=smith

变成一个嵌套的Python dict,像这样?你知道吗

{
   'foo': 'bar',
   'baz': 3,
   'metadata': {
       'name': 'john',
       'lastname': 'smith'
   }
}

这看起来像是一个常见的问题-所以我确信有些库是为这个而存在的,最好避免为此编写自己的函数。例如,multidimensional_urlencode解决了相反的问题—从dict生成查询字符串—但不进行解析。你知道吗


Tags: 函数字符串namefoobarbazjohndict
1条回答
网友
1楼 · 发布于 2024-09-28 05:43:00

您可以通过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'}}

相关问题 更多 >

    热门问题