【发布时间】:2012-01-30 00:52:05
【问题描述】:
我想将 Webob MultiDict 的 POST 转换为嵌套字典。例如
所以来自以下的 POST:
'name=Kyle&phone.number=1234&phone.type=home&phone.number=5678&phone.type=work'
到一个multidict;
[('name', 'Kyle'), ('phone.number', '1234'), ('phone.type', 'home'), ('phone.number', '5678'), ('phone.type', 'work')]
到嵌套字典
{'name': 'Kyle',
'phone': [
{
'number': '12345',
'type': 'home',
},{
'number': '5678',
'type': 'work',
},
有什么想法吗?
编辑
我最终从 Will 发布的 formencode 包中提取了 variable_decode 方法。
唯一需要的更改是使列表明确,例如
'name=Kyle&phone-1.number=1234&phone-1.type=home&phone-2.number=5678&phone-2.type=work'
出于多种原因,哪个更好。
【问题讨论】:
-
还可以看看来自 Pylons 项目的 Peppercorn:docs.pylonsproject.org/projects/peppercorn/en/latest 它需要在构建表单时更加明确,但允许任意嵌套。
标签: python nested nested-forms webob