Me gustaría convertir un POST de Webob MultiDict en un diccionario anidado. P.ej.Cómo convertir un MultiDict a un diccionario anidado
lo tanto, desde un puesto de:
'name=Kyle&phone.number=1234&phone.type=home&phone.number=5678&phone.type=work'
a un multidict;
[('name', 'Kyle'), ('phone.number', '1234'), ('phone.type', 'home'), ('phone.number', '5678'), ('phone.type', 'work')]
a un diccionario anidada
{'name': 'Kyle',
'phone': [
{
'number': '12345',
'type': 'home',
},{
'number': '5678',
'type': 'work',
},
¿Alguna idea?
EDITAR
terminé extraer el método variable_decode
del paquete formencode tal como fue anunciado por Will. El único cambio que se requirió es hacer que las listas sean explícitas, por ej.
'name=Kyle&phone-1.number=1234&phone-1.type=home&phone-2.number=5678&phone-2.type=work'
Cual es mejor por muchas razones.
también echar un vistazo a pimienta de el proyecto Pylons: http://docs.pylonsproject.org/projects/peppercorn/en/latest/ requiere ser más explícito al crear sus formularios, pero permite el anidamiento arbitrario. –