如何将MultiDict转换为嵌套字典

我想将POST从Webob MultiDict转换为嵌套字典.例如.

所以从POST:

'name=Kyle&phone.number=1234&phone.type=home&phone.number=5678&phone.type=work'

多元化;

[('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'

哪个更好有很多原因.

解决方法:

如果你安装了formencode或者可以安装它,请查看他们的variabledecode module

上一篇:【K8s生产环境】使用 kubeadm 引导集群系列 -- 6.使用 kubeadm 配置集群中的每个 kubelet


下一篇:php – Foreach循环中的PDO和MySQL UPDATE