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.
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}.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With