Ошибка при парсинге JSON и использовании переменной для сравнения

Всем привет! Ловлю ошибку:

"TypeError: string indices must be integers"

через раз, т.е., иногда все проходит хорошо, иногда всплывает косяк. Понимаю, что проблема в парсинге JSON, но не могу кодом правильно написать, чтобы исключить появление ошибки. После переменную edited_text_json использую в сравнении двух фраз, чтобы увидеть процент соответствия двух фраз и из-за неправильного кода ловлю False, из-за чего переменная передается пустой None. Подскажите пожалуйста в чем косяк

Текст JSON получаю в таком виде:

{
"count": 1,
"items": [
    {
        "dialogId": "ce3a0999-5f93-49f1-9ccc-3093d0d97703",
        "messagesAsString": "Робот: Аудио\nЧеловек: добрый день это короткое аудио сообщение для проверки транскрипция текста"
    },
]

}

   def trancription(token, id_call_task):
        """
        Функция для получения текста из тела Json, который в звонке сказал бот, мы его получаем из задачи на обзвон и результат задачи передаем в переменно id_call_task
    
        :param token: токен авторизации
        :param id_call_task: уникальный номер задачи, которую мы создали для обзвона
        :return: текст, который сказал бот, если текст есть в запросе мы получим True, если нет - False
        """
        url = f"https://analyse.twin24.ai/api/messagesAsString&taskId={id_call_task}"
        headers = {
            'Authorization': f'Bearer {token}'
        }
        response = requests.request("GET", url, headers=headers)
        logger.info(response.json())
        try:
            text_json = response.json()['items'][0]['messagesAsString']
            edited_text_json = text_json.lower().replace("робот: аудио", "").replace("человек:", "")
        except(KeyError, IndexError,):
            return False
        logger.debug(f"Текст, полученный из функции trancription: {text_json}")
        if 'добрый' in edited_text_json:
            return edited_text_json
        elif 'добрый' in text_json['items'][1]['messagesAsString']:
            logger.info("Второе условие парсинга Джсон ключ 2: ")
            return edited_text_json
        else:
            return False

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

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

Сначала вы делаете так:

text_json = response.json()['items'][0]['messagesAsString']

то есть в text_json у вас лежит некоторая строка. Потом вы делаете так:

elif 'добрый' in text_json['items'][1]['messagesAsString']:

а т.к. у вас text_json - строка, вы не можете взять от него индекс ['items']

→ Ссылка