I have a json file like this:
[ { "id": "john", "title": "tech", "date": "2020/1/1", "shift": "DAYS" }, { "id": "tom", "title": "tech", "date": "2021/5/5", "shift": "NIGHT" } ]
I need to re-create another JSON file based on this information. For example:
IF shift == NIGHT:
shiftHourStart = 22:00:00
shiftHourEnd = 06:00:00
So output should be like this:
[ { "id": "john", "title": "tech", "shiftHourStart" = "22:00:00", "shiftHourEnd" = "06:00:00" "shift": "NIGHT" }, { "id": "tom", "title": "tech", "date": "2021/5/5", "shiftHourStart" = "06:00:00", "shiftHourEnd" = "15:00:00", "shift": "DAY" } ]
Advertisement
Answer
you can use dict.update
data = [ { "id": "john", "title": "tech", "date": "2020/1/1", "shift": "DAYS" }, { "id": "tom", "title": "tech", "date": "2021/5/5", "shift": "NIGHT" } ] shift_mapping = { 'DAYS': { # or DAY whatever you have "shiftHourStart": "22:00:00", "shiftHourEnd": "06:00:00" }, 'NIGHT':{ "shiftHourStart": "06:00:00", "shiftHourEnd": "15:00:00", } } for each_shift in data: if 'shift' in each_shift: each_shift.update(shift_mapping[each_shift['shift']]) else: print('Warning!! shift key does not exists!') print(data)
[{'id': 'john', 'title': 'tech', 'date': '2020/1/1', 'shift': 'DAYS', 'shiftHourStart': '22:00:00', 'shiftHourEnd': '06:00:00'}, {'id': 'tom', 'title': 'tech', 'date': '2021/5/5', 'shift': 'NIGHT', 'shiftHourStart': '06:00:00', 'shiftHourEnd': '15:00:00'}]