Reputation: 41
I have a json data like:
{'data': [{'shares': {'count': 4},
'id':'226196778181357_353462548788112'},
{'shares': {'count': 5}, 'id': '226196778181357_353075852160115'},
{'shares': {'count': 47}, 'id': '226196778181357_350624229071944'},
{'shares': {'count': 3}, 'id': '226196778181357_350028335798200'},
{'shares': {'count': 5}, 'id': '226196778181357_349395549194812'},
{'shares': {'count': 6}, 'id': '226196778181357_348637945937239'},
{'shares': {'count': 3}, 'id': '226196778181357_342294163238284'},
{'id': '226196778181357_341686736632360'},
{'shares': {'count': 1}, 'id': '226196778181357_341024573365243'},
{'shares': {'count': 9}, 'id': '226196778181357_339828576818176'},
{'shares': {'count': 5}, 'id': '226196778181357_338017080332659'},
{'shares': {'count': 10}, 'id': '226196778181357_337493103718390'},
{'shares': {'count': 1}, 'id': '226196778181357_337432203724480'},
{'shares': {'count': 12}, 'id': '226196778181357_336955527105481'},
{'shares': {'count': 7}, 'id': '226196778181357_335994360534931'},
{'shares': {'count': 11}, 'id': '226196778181357_335979820536385'},
{'shares': {'count': 7}, 'id': '226196778181357_333787794088921'},
{'shares': {'count': 5}, 'id': '226196778181357_333174720816895'},
{'shares': {'count': 14}, 'id': '226196778181357_332554220878945'}]}
I want to search for dict key ={'shares'} in data if not present then add a default dict i.e 'shares': {'count': 0}
the final output will look like:
{'data': [{'shares': {'count': 4},
'id':'226196778181357_353462548788112'},
{'shares': {'count': 5}, 'id': '226196778181357_353075852160115'},
{'shares': {'count': 47}, 'id': '226196778181357_350624229071944'},
{'shares': {'count': 3}, 'id': '226196778181357_350028335798200'},
{'shares': {'count': 5}, 'id': '226196778181357_349395549194812'},
{'shares': {'count': 6}, 'id': '226196778181357_348637945937239'},
{'shares': {'count': 3}, 'id': '226196778181357_342294163238284'},
{'shares': {'count': 0},'id': '226196778181357_341686736632360'},
{'shares': {'count': 1}, 'id': '226196778181357_341024573365243'},
{'shares': {'count': 9}, 'id': '226196778181357_339828576818176'},
{'shares': {'count': 5}, 'id': '226196778181357_338017080332659'},
{'shares': {'count': 10}, 'id': '226196778181357_337493103718390'},
{'shares': {'count': 1}, 'id': '226196778181357_337432203724480'},
{'shares': {'count': 12}, 'id': '226196778181357_336955527105481'},
{'shares': {'count': 7}, 'id': '226196778181357_335994360534931'},
{'shares': {'count': 11}, 'id': '226196778181357_335979820536385'},
{'shares': {'count': 7}, 'id': '226196778181357_333787794088921'},
{'shares': {'count': 5}, 'id': '226196778181357_333174720816895'},
{'shares': {'count': 14}, 'id': '226196778181357_332554220878945'}]}
Upvotes: 2
Views: 107
Reputation: 11073
Try this:
for e in j['data']:
if not 'shares' in e:
e['shares'] = {'count': 0}
j
is json.loads(your_json)
.
Upvotes: 1
Reputation: 21
You can try this
dict_list = [{},{'id':12344},{'shares':{'count':1}, 'id':23456}]
for entry in dict_list:
if 'shares' not in entry.keys():
entry['shares']={'count':0}
Output: [{'shares': {'count': 0}}, {'id': 12344, 'shares': {'count': 0}}, {'shares': {'count': 1}, 'id': 23456}]
Upvotes: 1