Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from pprint import pprint
- formdata = [
- # last: dict -> formdata[name] = 'roel kramer'
- {"formname": "name", "formvalue": "Roel Kramer"},
- {"formname": "email", "formvalue": "contact@roelkramer.nl"},
- {"formname": "paragraph-0.title", "formvalue": "test titel 1"},
- {"formname": "paragraph-0.body", "formvalue": "bla bla body 1"},
- {"formname": "paragraph-0.image-0.src", "formvalue": "src 1"},
- {"formname": "paragraph-0.image-1.src", "formvalue": "src 2"},
- {"formname": "paragraph-1.title", "formvalue": "test titel 2"},
- {"formname": "paragraph-1.body", "formvalue": "bla bla body 2"},
- {"formname": "paragraph-1.image-0.src", "formvalue": "src 3"},
- {"formname": "paragraph-1.image-1.src", "formvalue": "src 4"},
- {"formname": "paragraph-1.image-2.src", "formvalue": "src 5"},
- {"formname": "paragraph-2.title", "formvalue": "test titel 3"},
- {"formname": "paragraph-2.body", "formvalue": "bla bla body 3"},
- {"formname": "paragraph-2.image-0.src", "formvalue": "src 6"},
- {"formname": "paragraph-2.image-1.src", "formvalue": "src 7"},
- ]
- json_data = {}
- def add_data(node, name, value):
- if '-' not in name:
- node[name] = value
- else:
- key = name[:name.index('-')]
- node_index = int(name[len(key) + 1:name.index('.')])
- node.setdefault(key, [])
- if node_index >= len(node[key]):
- node[key].append({})
- add_data(node[key][node_index],
- name[name.index('.') + 1:],
- value)
- for data in formdata:
- add_data(json_data, data['formname'], data['formvalue'])
- pprint(json_data)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement