So konvertieren Sie eine MultiDict zu verschachtelten dictionary
Möchte ich konvertieren einen POST von Webob MultiDict zu verschachtelten dictionary. E. g.
So aus einem POST von:
'name=Kyle&phone.number=1234&phone.type=home&phone.number=5678&phone.type=work'
einer multidict;
[('name', 'Kyle'), ('phone.number', '1234'), ('phone.type', 'home'), ('phone.number', '5678'), ('phone.type', 'work')]
geschachtelten Wörterbuch
{'name': 'Kyle',
'phone': [
{
'number': '12345',
'type': 'home',
},{
'number': '5678',
'type': 'work',
},
Irgendwelche Ideen?
BEARBEITEN
Landete ich extrahieren der variable_decode
Methode aus der formencode als Paket gebucht Werden.
Die einzige änderung, die erforderlich ist, um die Listen explizite, E. g.
'name=Kyle&phone-1.number=1234&phone-1.type=home&phone-2.number=5678&phone-2.type=work'
Was ist besser für viele Gründe.
Werfen Sie auch einen Blick auf Pfeffer aus der Pylonen-Projekt: docs.pylonsproject.org/projects/peppercorn/en/latest es braucht mehr explizit bei der Erstellung Ihrer Formen, es ist jedoch möglich, beliebige Verschachtelung.
InformationsquelleAutor Kyle Finley | 2012-01-30
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie formencode installiert haben oder installieren können, schauen Sie sich Ihre variabledecode Modul
InformationsquelleAutor Will
Hatte ich noch nicht die Zeit es zu testen und es ist ziemlich restriktiv, aber hoffentlich das funktionieren wird (ich bin nur posten, weil es ist schon eine Weile her, seit du die Frage gepostet):
Wenn dies nicht 100%, sollte Sie wenigstens auf einen guten start.
Hoffe, das hilft
InformationsquelleAutor inspectorG4dget
Ich lieber einen expliziten Weg, um Ihr problem zu lösen:
Teilen die Mitglieder die gehören zu der gleichen Struktur (oder dict) in eine gleiche Gruppe mit den gleichen Feldnamen, wie
Die Reihenfolge der Felder in der form gewährleistet ist, so die multidict werden:
(('name', 'Kyle'), ('phone1', '1234', 'home'), ('phone2', '5678', 'work'))
Dann wird der code wie:
InformationsquelleAutor phay