Напишите правильный цикл для вложенных данных JSON
У меня есть некоторые данные:
{
"id": 56,
"number": "82467",
"date": "2021-08-19",
"exams": [
{
"type": "fff123",
"stamp": "2021-08-19R17:00:17",
"review": [
{
"code": "1118",
"value": "3",
}
],
},
{
"type": "nnn123",
"stamp": "2021-08-19R12:00:47",
"review": [
{
"code": "1120",
"value": "1",
},
{
"code": "1121",
"value": "2",
},
]
}
]
}
Пожалуйста, скажите мне, как я могу получить для "type": "nnn123"
два значения, потому что сейчас я получаю только одно. Я делаю что-то неправильно в цикле, но я не знаю что. Как я могу получить два значения?
{
"code": "1120",
"value": "1",
},
{
"code": "1121",
"value": "2",
}
, пожалуйста, может кто-нибудь знает, как я должен правильно написать свой код
def get_object(self):
number = self.kwargs['number']
type = self.kwargs['type']
obj = get_object_or_404(self.queryset.filter(number=number))
data = obj.exams
filtered_exams = list(filter(lambda x: x["type"] == type, data))
for i in filtered_exams[0]['review']:
return i
Я думаю, что проблема в том, что в вашем цикле for (for i in filtered_exams[0]['review']
) вы возвращаете i, поэтому только первый элемент в filtered_exams[0]['review']
.
Просто замените
for i in filtered_exams[0]['review']:
return i
With
return filtered_exams[0]['review']