Пусть weight это ключ в некотором data, тогда:
if 'weight' in data:
for w in data['weight']:
t = w['type']
# и т.д.
Если weight пустой, то цикл не выполнится.
Так что тут никаких проверок/исключений не надо - у тебя сам ключ - проверка, поскольку это список, который или пустой или нет.