@ItzGuyMc

TypeError: list indices must be integers or slices, not str в JSON?

И так, с помощью
[item for item in data['data']['list'] if item['user']['name'] == 'name1']
я фильтрую код и оставляю только тот код где name == name1 (что ясно из кода), как мне этот код вернуть обратно в JSON и отфильтровать его ещё раз?
Я пробовал использовать json.dumps() и json.loads(), не помогает - при попытке отфильтровать код ещё раз получаю ошибку
TypeError: list indices must be integers or slices, not str
используя такой код:
[item for item in njson['data']['list'] if 'text' in item['message']]
, подскажите что делать
  • Вопрос задан
  • 248 просмотров
Пригласить эксперта
Ответы на вопрос 1
@o5a
Логично же, что если делать
njson = [item for item in data['data']['list'] if item['user']['name'] == 'name1']

то njson будет списком, а не вложенным словарём. И обращаться к его элементам как njson['data']['list'] не имеет смысла.

Если цель была отфильтровать тот список внутри изначального json, то его и нужно было менять:
data['data']['list'] = [item for item in data['data']['list'] if item['user']['name'] == 'name1']
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
22 нояб. 2024, в 00:55
500 руб./за проект
21 нояб. 2024, в 23:30
300000 руб./за проект
21 нояб. 2024, в 22:21
3000 руб./в час