Сериализатор Kotlin не работает на Enum, если он был изменен ⇐ Android

Форум для тех, кто программирует под Android
Anonymous
Сериализатор Kotlin не работает на Enum, если он был изменен

Сообщение Anonymous »

Самая странная проблема произошла за последние несколько дней.
У меня есть класс данных, который мы регулярно сериализуем/десериализуем. По сути, я использую его и добавляю в него что-то уже много лет.
Сейчас я нахожусь на этапе, когда все работает нормально, но я не могу коснуться этого класса, так как сериализатор просто выдаст если я добавляю/удаляю поле, жалуюсь, что один из классов Enum не может быть декодирован.

Декодирование JsonElement класса X пошло не так: DisplayMode не работает содержать элемент с именем 'ежедневно'

Код: Выделить всё

internal enum class DisplayMode {
@SerialName("daily")
DAILY,

@SerialName("monthly")
MONTHLY,
}
Если я удалю это поле, другое перечисление завершится неудачей. Если я удалю все перечисления из этого класса данных, все пройдет нормально.
Как он оказался в таком зависшем состоянии, когда все в порядке, пока я его не трогаю?

Подробнее здесь: https://stackoverflow.com/questions/792 ... if-changed

Вернуться в «Android»