vk_api и json python

Есть чат бот сообщества вк,есть json файл,при запросе от конкретного пользователя на добавление элемента в этот словарь,чатбот сначала ему присылает сообщение с списком ключей куда надо добавить ,пользователь через запятую вводит их,если они есть,то сообщение с элементом добавляется в массив-значение этого ключа(или этих),если пользователь введет те ключи которых нет,то они создадутся,и выбранный элемент добавится как первое значение массива этого ключа...Ну по идее,но код не работает:


    import json
    import vk_api
    from vk_api.bot_longpoll import VkBotEventType
    from vk_api.keyboard import VkKeyboard, VkKeyboardColor
    from vk_api import VkUpload
    from vk_api.longpoll import VkLongPoll, VkEventType
    try:
        with open('data.json', 'r') as file:
            data = json.load(file)
    except (json.JSONDecodeError, FileNotFoundError):
            data = {}
    for event in longpoll.listen():
       user_id = event.user_id
       mesag = event.text
       if event.type == VkEventType.MESSAGE_NEW:
    
        if user_id == 332525988 and mesag == "добавить":
                vk.messages.send(user_id=user_id,
                                 message='И че ты хош добавить ',
                                 random_id=0)
                last_user_message = ""
                while True:
                    if msg == 'стоп':
                        break
                    vk.messages.send(user_id=user_id,
                                     message=f"Выбери к каким ключам принадлежит(если жанра нет,создастся новый)через запятую:\n  {list(data.keys())}",
                                     random_id=0)
                    if msg == last_user_message:
                        key = last_user_message.strip()
                    else:
                        for key in msg:
                            key = key.strip()
    
                    if key in data:
                        data[key].append(msg)
                    else:
                        data[key] = [msg]
    
                    last_user_message = key
    
                with open('data.json', 'w') as file:
                    json.dump(data, file)
                vk.messages.send(user_id=user_id,
                                 message=f"Успешно добавлено!",
                                 random_id=0)

выдает ошибку:

Traceback (most recent call last):
  File "C:\Users\1\PycharmProjects\pythonProject\config.py", line 103, in <module>
    data = json.load(file)
           ^^^^^^^^^^^^^^^
  File "C:\Users\1\AppData\Local\Programs\Python\Python312\Lib\json\__init__.py", line 293, in load
    return loads(fp.read(),
                 ^^^^^^^^^
  File "C:\Users\1\AppData\Local\Programs\Python\Python312\Lib\encodings\cp1251.py", line 23, in decode
    return codecs.charmap_decode(input,self.errors,decoding_table)[0]
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
UnicodeDecodeError: 'charmap' codec can't decode byte 0x98 in position 1332: character maps to <undefined>

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