如何将MultiDict转换为嵌套字典 [英] How to convert a MultiDict to nested dictionary

查看:298
本文介绍了如何将MultiDict转换为嵌套字典的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想从Webob MultiDict 嵌套字典.例如

I would like to convert a POST from Webob MultiDict to nested dictionary. E.g.

所以从POST的帖子开始:

So from a POST of:

'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方法. 唯一需要做的更改是使列表明确,例如

I ended up extracting the variable_decode method from the formencode package as posted by Will. The only change that was required is to make the lists explicit, E.g.

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

哪个原因更好?

推荐答案

如果您已安装或可以安装formencode,请签出他们的

If you have formencode installed or can install it, checkout out their variabledecode module

这篇关于如何将MultiDict转换为嵌套字典的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆