Помогите написать цикл для JSON ответа

Есть массив JSON, вот выражение для печати одной строки массива:

print(r_write_iops['entries'][0]['content']['values']['spb']['dae_1_0_disk_0']) выводит значение

Требуется перебрать в цикле dae_1_0_disk_X, так как дисков много. Как лучше сделать? Называние диском может быть

                        "dpe_disk_5": 2323
                        "dpe_disk_4": 2323
                        "dpe_disk_7": 2323
                        "dae_1_0_disk_7": 2323
                    

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

Автор решения: Danny

Если правильно вас понял, то так:

for n in range(0, x):
    diskid = 'dae_1_0_disk_' + n
    print(r_write_iops['entries'][0]['content']['values']['spb'][diskid])

Может быть, вам лучше подойдёт такой вариант:

disks = ['dae_1', 'dpe_2', 'abc_3']
for diskid in disks:
    print(r_write_iops['entries'][0]['content']['values']['spb'][diskid])

Или так:

disks = ['dae_1_0_disk_', 'dpe_disk_']
digits = range(0, 9)
for disk in disks:
    for n in digits:
        print(r_write_iops['entries'][0]['content']['values']['spb'][disk + n])

Четвертый вариант

disks = ['dae_1_0_disk_', 'dpe_disk_']
digits = range(0, 9)
for disk in disks:
    for n in digits:
        disk_id = disk + str(n)
        disk_value = r_write_iops['entries'][0]['content']['values']['spb'][disk_id]
        print(disk_id + ' : ' + disk_value)
→ Ссылка
Автор решения: mrvol

Может так?

for k, v in r_write_iops['entries'][0]['content']['values']['spb'].items():
    if 'disk' in k:
        print('Disk - %s, Value - %s' % (k, v))
→ Ссылка