Size: a a a

Kotlin Community

2021 November 23

AL

Alexander Levin in Kotlin Community
Ну, общая логика какая-то наверное такая:

* Если у вас структура хорошо определена, лучше накидать классов и описать её
* Если при этом вам лень всё перечислять, то вы можете определить только важное и намекнуть библиотеке, что остальное можно игнорировать
* Если вам нужно накидать временно на коленке или действительно структура прямо очень динамически определена, то возьмите что-то вроде JsonNode выше. Поскольку язык строго типизированный, то условно по сравнению с JS хоть немного типов надо будет указать (в примере это asInt), но это не такой большой overhead и основная навигация выглядит достаточно сносно (но не через точку, да)
источник

i

ilyadrmx in Kotlin Community
а какой ещё класс?
🤔
источник

Na

Neon an Děv 8) in Kotlin Community
Обычный?
источник

Na

Neon an Děv 8) in Kotlin Community
Зачем дата то?
источник

i

ilyadrmx in Kotlin Community
я просто чаще всего вижу чтобы использовали @Serializable data class
источник

i

ilyadrmx in Kotlin Community
ясно
источник

Na

Neon an Děv 8) in Kotlin Community
data class генерирует equals & hashCode & toString

Если вам не нужно это, то юзать дата класс - оверхэд
источник

AH

Ayrat Hudaygulov in Kotlin Community
нет, имею в виду
val json = JSON.Parse("[null]")
источник

i

ilyadrmx in Kotlin Community
я имею ввиду json внутри { }
источник

i

ilyadrmx in Kotlin Community
а вообще
источник

i

ilyadrmx in Kotlin Community
источник

i

ilyadrmx in Kotlin Community
можно
источник

AH

Ayrat Hudaygulov in Kotlin Community
это map/dictionary/object
Он тривиально превращается в Map<String,Any>

Но жсон это не только object.
вот что такое Жсон
union Json =
 null
 true
 false
 float
 string
 Object
 Array
источник

i

ilyadrmx in Kotlin Community
мне просто нужно из строки в формате json, которую, к примеру, после ответа сервера получают, перевести в мап для удобной работы
источник

i

ilyadrmx in Kotlin Community
но это я как понял не реально
источник

i

ilyadrmx in Kotlin Community
ну в плане костыли
источник

AH

Ayrat Hudaygulov in Kotlin Community
Я так и не понял что мешает спарсить если структура известна
источник

AH

Ayrat Hudaygulov in Kotlin Community
ну там jackson
mapper.readValue<Map<String,Any?>>(json)
источник

AH

Ayrat Hudaygulov in Kotlin Community
взорвётся если в жсоне не Object, но это уж ты сам
источник

M

Melodeiro in Kotlin Community
С дата классами удобно, что идея не подсвечивает не используемые проперти, особенно если всю структуру json описывать, включая ненужные поля
источник