在Python中解析包含方括号的POST数据?

时间:2013-08-10 19:28:28

标签: python google-app-engine webob

我正在编写一个python webapp(在Google AppEngine上,使用webob),它应该处理一个包含地址列表的表单。

为了简化,我们可以说表单包含以下输入:

  <input type="hidden" name="address[]" value="1" />
  <input type="hidden" name="address[]" value="2" />
  <input type="hidden" name="address[]" value="3" />
  <input type="hidden" name="address[]" value="4" />

现在,Rails \ PHP会将其解析为包含列表[1,2,3,4]的单个“地址”值。 在Python中有一种简单的方法吗?

2 个答案:

答案 0 :(得分:0)

从RequestHandler方法内部,self.request.params.getall('address[]')将返回值列表。 []没有意义,字段可以很容易地命名为“地址”。

答案 1 :(得分:0)

WebOb使用名为MultiDict的内容。 self.request.POST将采用适当格式编码的请求并返回MultiDict

通过此MultiDict,您可以使用密钥的名称拨打.getall(),在这种情况下,您的密钥将是&#34;地址[]&#34;。

要获取您要拨打的条目列表:

self.request.POST.getall('address[]')

您不需要使用address[]作为名称,MultiDict不会使用它来识别密钥是否可以多次存在。