У вас есть вложенный список списков .Иногда это заметно заметить, обратите внимание на вложенный синтаксис []
:
json_obj = [[{'id': None}, {'id': 'abc'}, {'id': 'def'}, {'id': 'ghi'}],
[{'id': None}, {'id': 'jkl'}, {'id': 'mno'}, {'id': 'pqr'}]]
Ваш синтаксис будет работать для одного списка:
json_obj = [{'id': None}, {'id': 'abc'}, {'id': 'def'}, {'id': 'ghi'},
{'id': None}, {'id': 'jkl'}, {'id': 'mno'}, {'id': 'pqr'}]
for d in json_obj:
print(d['id'])
Для вложенных списков вы можете использовать itertools.chain.from_iterable
из стандартной библиотеки:
json_obj = [[{'id': None}, {'id': 'abc'}, {'id': 'def'}, {'id': 'ghi'}],
[{'id': None}, {'id': 'jkl'}, {'id': 'mno'}, {'id': 'pqr'}]]
from itertools import chain
for d in chain.from_iterable(json_obj):
print(d['id'])
Или без импорта можно использовать вложенный цикл for
:
for L in json_obj:
for d in L:
print(d['id'])