Добрый день. Подскажите пожалуйста, как пройтись циклом for по сложному json ответу, состоящим из нескольких блоков.
Пример json ответа:
data =
[{"LocationId":1,"BlastHole":[{"Coords":{"X":15599.1298828125,"Y":35847.578125,"Z":180.10580444335938},"DesignMass":835.0,"AdditionalCharge":0.0,"RealAdditionalMass":0.0,"DesignHeight":9.992707,"RealMass":1301.0,"DesignExplosiveId":8,"RealHeight":15.56948,"RealExplosiveId":8,"Depth":10.0,"SourceHoleDepth":17.10579,"Tamping":0.0,"StatusId":4,"UnitId":4062,"StaffId":1019,"SecondStaffId":-1,"ShiftId":1,"Diameter":0.311,"StartTimestamp":"2020-08-18T08:46:39","EndTimeStamp":"2020-08-18T08:47:16","HoleNotes":null,"HoseLength":0.0,"BlockID":14999,"ID":717689,"Name":"100","OldName":null} . . . {} . . . {} . . . {}]
Нужно узнать значение переменной из верхнего json ответа или хотя бы номер строки, в которой находится условие цикла
Мой вариант кода:
for i in data:
if i['BlastHole']['Name'] == '100':
print(['BlastHole']['SecondStaffId'])
Ошибка:
TypeError: list indices must be integers or slices, not str
P.S. Я знаю, что в данном варианте сработает через
i['BlastHole'][0]['Name']
, но таких строчек может быть 300+, и мне нужно узнавать именно значение переменной.