如何使用 Python (Django) 将 x-www-form-urlencoded 转换为 json

Nav*_*oss 5 python django json x-www-form-urlencoded

我从 api 接收 x-www-form-urlencoded 数据。

data = 'leads%5Bstatus%5D%5B0%5D%5Bid%5D=29078079'
Run Code Online (Sandbox Code Playgroud)

当我尝试将其转换为urllib.parse.parse_qsurllib.parse.unquote 我得到一个类似的字典时

{
    "leads[status][0][id]": [
        "29078079"
    ]
}
Run Code Online (Sandbox Code Playgroud)

我怎样才能将它转换为普通的 json 或 dict ?像这样

{
    "leads": [
       "id": "29078079"
    ]
}
Run Code Online (Sandbox Code Playgroud)

RJ *_*sen 0

字符串解析正确。因此,问题不在于如何获得“正常”字典,而在于如何更改字典键:

dictionary = { "leads[status][0][id]": [ "29078079" ] }
dictionary['leads'] = dictionary.pop(list(dictionary)[0])
Run Code Online (Sandbox Code Playgroud)

或者,您可以手动创建字典:

dictionary =  {data[:5]:[data.split('=')[-1]]}
Run Code Online (Sandbox Code Playgroud)