Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

mapping dictonary a key with multiple values to json in python

I am trying to map a dictionary with one key that has multiple values into python. Here is what I got.

import json

list =['abe','matt','roscoe']
key="name"
nodes={}
nodes.setdefault(key,list)
['abe', 'matt', 'roscoe']

json_nodes =json.dumps(nodes)
json_nodes
'{"name": ["abe", "matt", "roscoe"]}'

But I would like to have a json file similar to this [ { "name": "abe" }, { "name": "matt" }, { "name": "roscoe" } ]

Any suggestions will be greatly appreciated. Thanks in advance.

like image 485
Zaynaib Giwa Avatar asked Dec 19 '25 20:12

Zaynaib Giwa


1 Answers

You have a list of names, like this

>>> names = ['abe', 'matt', 'roscoe']

You just need to iterate the names, and create a new dictionary on every iteration to get the list of dictionaries, like this

>>> json.dumps([{"name": name} for name in names])
[{"name": "abe"}, {"name": "matt"}, {"name": "roscoe"}]

Here,

[{"name": name} for name in names]

is called List Comprehension. It is a convenient technique to generate new lists. In our case, we iterate over names with for name in names. On every iteration, name will have the current name corresponding to the iteration and we create a new dictionary with {"name": name}.

like image 172
thefourtheye Avatar answered Dec 21 '25 16:12

thefourtheye



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!