Отсеять все значения None из Json

Задача: получить большой Json и из него выдернуть несколько десятков нужных значений. Далее эти значения запихнуть в строку вида:

result = 'Директор: ' + str(json['person1']['name']) + ', Заместитель: ' + str(json['person2']['name']) + ', Бухгалтер: ' итд

для отправки в мессенджер в виде get-запроса. Все работает хорошо, но иногда некоторые значения name = None. Как мне в дзене Python отсеять все None значения и соответственно чтобы в конечную переменную result не попадали не только сами None, но и убирались соответствующие должности? Например если у заместителя нет имени, то и в итоговую строку просто эта должность не попадала вообще, и было так:

result = 'Директор: ' + str(json['person1']['name']) + ', Бухгалтер: ' итд

На ум приходит только монструозная конструкция (учитывая что должностей- несколько десятков) проверок if-else, но думаю есть путь проще


Ответы (1 шт):

Автор решения: Roman-Stop RU aggression in UA

Как-то так:

POSITIONS_CONFIG = {
  "Директор": "person1",
  "Заместитель": "person2",
  "Бухгалтер": "person3",
}

positions = []
for title, pos_json_key in POSITIONS_CONFIG.items():
   name = json[pos_json_key]['name']
   if name:
        positions.add(f"{title}: {name}")
result = ', '.join(positions)
→ Ссылка