Задать вопрос
@programistNaTelebot

Ошибка: json.decoder.JSONDecodeError: Expecting value: line 18 column 19 (char 348). В чём проблема?

Код:
import telebot
import random
import json
import time

BOT_TOKEN = 'Фиг тебе'
bot = telebot.TeleBot(BOT_TOKEN)

DATABASE_USER = 'user_data.json'

COOLDOWN = 3600

try:
    with open(DATABASE_USER, 'r') as f:
        user_data = json.load(f)
except FileNotFoundError:
    user_data = {}

def save_data():
    with open(DATABASE_USER, 'w') as f:
        json.dump(user_data, f, indent=4)

И так дальше


Запускаю код выдает ошибку: json.decoder.JSONDecodeError: Expecting value: line 18 column 19 (char 348).

Часть кода где выдает ошибку:
try:
    with open(DATABASE_USER, 'r') as f:
        user_data = json.load(f)
except FileNotFoundError:
    user_data = {}

def save_data():
    with open(DATABASE_USER, 'w') as f:
        json.dump(user_data, f, indent=4)


Что делать?
  • Вопрос задан
  • 53 просмотра
Подписаться 1 Простой 3 комментария
Пригласить эксперта
Ответы на вопрос 1
suprunchuk
@suprunchuk
Эта ошибка возникает когда JSON файл содержит некорректные данные.

Проверьте содержимое файла user_data.json - он должен содержать валидный JSON. Вот правильный формат:
{
    "user1": {
        "field1": "value1",
        "field2": "value2"
    },
    "user2": {
        "field1": "value1",
        "field2": "value2"
    }
}
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы