Size: a a a

Kotlin Community

2020 November 06

AN

Alexander Nozik in Kotlin Community
Oleg Yukhnevich
вставлю лучше код:
@Composable
fun PaddedColumn(modifier: Modifier = Modifier) {
   Column(modifier.padding(10.dp)) {
       // ...
   }
}
Так одно другому вообще не мешает.
источник

AN

Alexander Nozik in Kotlin Community
Правда я чего-то сходу не совсем могу придумать, как это сделать без дубликации кода.
источник

OY

Oleg Yukhnevich in Kotlin Community
Alexander Nozik
Так одно другому вообще не мешает.
я тогда просто не вижу смысла добавлять где-то vararg/lambda если оно по сути будет менее удобно (ИМХО)
источник

AN

Alexander Nozik in Kotlin Community
Oleg Yukhnevich
я тогда просто не вижу смысла добавлять где-то vararg/lambda если оно по сути будет менее удобно (ИМХО)
Ну не менее точно. Но вопрос баланса красоты/затрат. Я поэтому и сказал, что не уверен, что можно сделать лучше, чем сейчас.
источник

AN

Alexander Nozik in Kotlin Community
И опять же красоту можно поверх сделать.
источник

MM

Michael Mazaev in Kotlin Community
Могу ли я распарсить JSON в различные реализации sealed класса? И если да, то каким фреймворком это лучше сделать?
источник

AN

Alexander Nozik in Kotlin Community
Michael Mazaev
Могу ли я распарсить JSON в различные реализации sealed класса? И если да, то каким фреймворком это лучше сделать?
Любым. Jackson, kotlinx-serialization, moshi (последний не пробовал)
источник

MM

Michael Mazaev in Kotlin Community
У меня просто GSON, он на джаве написан, и, естесственно, не понимает такого
Попробую kotlinx-serialization, спасибо
источник

SB

Sergey Bezrukov in Kotlin Community
Michael Mazaev
Могу ли я распарсить JSON в различные реализации sealed класса? И если да, то каким фреймворком это лучше сделать?
В смысле, чтобы фреймворк угадал какой это конкретно класс? Для этого ему это надо как-то подсказать
источник

AN

Alexander Nozik in Kotlin Community
Ну и кстати важно, чем вы сериализуете.
источник

MM

Michael Mazaev in Kotlin Community
Sergey Bezrukov
В смысле, чтобы фреймворк угадал какой это конкретно класс? Для этого ему это надо как-то подсказать
Да, я живу в 2020 году и хочу чтобы фреймворк угадал, какая реализация sealed класса подходит для десериализации :)
источник

MM

Michael Mazaev in Kotlin Community
Подсказать я и GSON'у могу
источник

AN

Alexander Nozik in Kotlin Community
Michael Mazaev
Да, я живу в 2020 году и хочу чтобы фреймворк угадал, какая реализация sealed класса подходит для десериализации :)
А вот это работать не будет, если вы при сериализации type не указали. Kotlinx-serialization делает это сам
источник

SB

Sergey Bezrukov in Kotlin Community
Michael Mazaev
Да, я живу в 2020 году и хочу чтобы фреймворк угадал, какая реализация sealed класса подходит для десериализации :)
Имя класса вам всё-таки придётся десериализатору сказать, либо явно, либо сериализатор его должен записать в специально оговоренное поле. Хотя, 2020 год щедр, конечно, на сюрпризы, может и есть какой такой волшебный фреймворк )
источник

MM

Michael Mazaev in Kotlin Community
Sealed класс я укажу, естесственно
Я могу ожидать, что kotlinx-serialization дальше разрулит, как парсить JSON?
источник

AN

Alexander Nozik in Kotlin Community
Michael Mazaev
Sealed класс я укажу, естесственно
Я могу ожидать, что kotlinx-serialization дальше разрулит, как парсить JSON?
Да, если есть поле type, которое соотвествует SerialName, то все работает
источник

MM

Michael Mazaev in Kotlin Community
Спасибо
источник

SB

Sergey Bezrukov in Kotlin Community
Michael Mazaev
Sealed класс я укажу, естесственно
Я могу ожидать, что kotlinx-serialization дальше разрулит, как парсить JSON?
Если в JSON не указано имя конкретного класса - то нет
источник

AL

Alexander Levin in Kotlin Community
Michael Mazaev
Sealed класс я укажу, естесственно
Я могу ожидать, что kotlinx-serialization дальше разрулит, как парсить JSON?
Тут можно почитать что и как. Вкратце - в json представление будет новое поле type (ваше или автосгенерированное по имени класса), но работать будет.

https://github.com/Kotlin/kotlinx.serialization/blob/master/docs/polymorphism.md
источник

AN

Alexander Nozik in Kotlin Community
Ну и Jackson тоже так умеет. Хотя я пользуюсь kx-serialization
источник