Python 是否有方法获取通过werkzeug(flask)请求发送的Immutabledict中嵌套dict的值?

Python 是否有方法获取通过werkzeug(flask)请求发送的Immutabledict中嵌套dict的值?,python,request,flask,python-requests,werkzeug,Python,Request,Flask,Python Requests,Werkzeug,我过去问过这个问题,但仍然面临这个问题。 地址:{'address':{'US':'San Francisco','US':'New York','UK':'London'} 当通过请求发送上述参数时,如何使用烧瓶上的request.form获取地址键中的值 import requests url = 'http://example.com' params = {"address": {"US": "San Francisco", "UK": "London", "CH": "Shanghai

我过去问过这个问题,但仍然面临这个问题。 地址:{'address':{'US':'San Francisco','US':'New York','UK':'London'}

当通过请求发送上述参数时,如何使用烧瓶上的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
(已解码)访问它。

谢谢,我明白了。在request.form中,可以获取嵌套值吗?因为我们关于API的模块是通过字典(request.form)发送数据的。如果是API,为什么不忘记表单而使用JSON呢?更方便。在我的例子中,在你的Flask应用程序中,从'request.json'你会得到与你发送的相同的字典。是的,我同意。我正在考虑通过curl或其他http请求客户端发送请求的情况。我只想集成一个解决方案(request.form或request.json)