有没有办法获取通过werkzeug(flask)的请求发送的不可变字典中嵌套字典的值



我过去问过问题,但仍然面临问题。 address_dict =

{'地址': {'US': '旧金山', 'US': '纽约', '英国': '伦敦'}}

当上述参数通过请求发送时,如何使用 Flask 上的 request.form 获取地址键中的值?

import requests
url =  'http://example.com'
params = {"address": {"US": "San Francisco", "UK": "London", "CH": "Shanghai"}}
requests.post(url, data=params) 

然后我在flask.request的上下文中得到了这个。

ImmutableMultiDict([('address', u'US'), ('address', 'US'), ('address', 'UK')])

如何获取每个地址键中的值?

谢谢。

您正在以HTML形式发送复杂的嵌套数据结构,它不会像您预期的那样工作。 将其编码为 JSON:

import json
import requests
url = 'http://example.com/'
payload = {"address": {"US": "San Francisco", "UK": "London", "CH": "Shanghai"}}
data = json.dumps(payload)
headers = {'Content-Type': 'application/json'}
requests.post(url, data=data, headers=headers)

在您的 Flask 应用程序中,可以通过request.json(已解码)访问它。

最新更新