@sundnl

Raise TypeError(f'the JSON object must be str, bytes or bytearray, ' TypeError: the JSON object must be str, bytes or bytearray, not int как убрать?

В чём ошибка заключается, я знаю, типа json это не ' а ". Но тут проблема. Ошибка не моя, я друга, но т.к. мозгов чтобы зайти на хабр у него не хватило, спрошу я. Значит, есть файл, с "trophy_road", и... Я в общем-то сам не шибко шарю в питоне, но попробую объяснить, есть "trophy_road", и... В игре после боя, вылезает ошибка, которую я вставил в сути вопроса. Жалуется он кстати на self.player.trophy_road = json.loads(user_data[36]), но непонятно чё делать. Друг не понимает, я не лучше. Что-то в общем-то не так.

Тут код не берут, много всего. дам на гугл диске
https://drive.google.com/file/d/1P-vUjK2fpmPpbdU9l...
  • Вопрос задан
  • 458 просмотров
Решения вопроса 1
@o5a
Так определитесь, что это поле должно обозначать. В описании таблицы поле заявлено как
trophy_road INT
А в загрузке данных грузятся вообще противоречивые 2 строки:
self.player.trophy_road = user_data[10]
self.player.trophy_road = json.loads(user_data[36])

И обе "некорректные"
user_data[10] - это вообще другое поле в таблице, leagueReward
json.loads(user_data[36]) - тоже не загрузится, т.к. поле не json, а INT

Так что без подробных разбирательств для trophy_road видимо предполагалось
self.player.trophy_road = user_data[36]
А другое возможно в поле league_reward соответственно, но это уже лучше автору скрипта знать
self.player.league_reward = user_data[10]
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы