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

问题描述

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

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

因此来自以下帖子:

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

哪个更好,原因有很多.

Which is better for many reasons.

推荐答案

如果您已安装或可以安装 formencode,请查看他们的 变量解码模块

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

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

06-25 05:31