Вы можете создать отображение известных типов и преобразовать значения следующим образом:
types = {
'integerValue': int,
'booleanValue': bool,
'stringValue': str,
}
Вы можете заменить вложенный словарь, как тот, который у вас есть, с помощью магии dict.popitem
:
replacement = {}
for key, meta in event['value']['fields'].items():
typ, value = meta.popitem()
replacement[key] = types[typ](value)
event['value'] = replacement
Вы можете уменьшить его до одной строки со значением словаря:
event['value'] = {k: types[t](v) for k t, v in (k, *d.popitem()) for k, d in event['value']['fields'].items())}