Практика сериализации в Kotlin
Объявите @Serializable data class
BookCopy с полями isbn и
pages. Создайте экземпляр с ISBN
"978-3" и 200 страницами,
получите JSON-строку и выведите её.
Из JSON
{"isbn":"000-1","pages":64}
восстановите BookCopy и выведите
количество страниц.
Сделайте @Serializable WeatherStamp:
свойство windKmh в тексте должно идти
под ключом "wind_kmh". Разберите
{"wind_kmh":12} и выведите число.
Опишите @Serializable Room
с name и floor, затем
OfficeVisit с guest и полем
room. Запишите визит гостя "Eva"
в комнату "Lab" на этаже 2
и выведите JSON.
Объявите @Serializable Playlist
с названием и списком треков. Разберите
{"title":"Focus","tracks":["a","b","c"]}
и выведите число треков.
Сделайте @Serializable JobOffer
с role по умолчанию "intern"
и полем salary. Из {"salary":900}
получите объект и выведите роль и зарплату через
пробел.
Опишите @Serializable sealed
GateState: Locked с
sinceEpoch (имя "locked")
и Open с passCount
(имя "open"). Разберите
{"type":"open","passCount":4}
и выведите счётчик проходов.
Задан список чисел:
val nums = listOf(1, 2, 3)
Запишите его в JSON и выведите получившуюся строку.
Задан список строк:
val tags = listOf("x", "y", "z")
Запишите его в JSON и выведите строку.
Задана карта из трёх пар строк:
val pairs = mapOf(
"x" to "a",
"y" to "b",
"z" to "c",
)
Запишите карту в JSON и выведите строку.
Задана вложенная структура. Под ключами
"ru" и "en" лежат два списка строк:
val locales = mapOf(
"ru" to listOf("1", "2", "3"),
"en" to listOf("a", "b", "c"),
)
Запишите её в JSON и выведите строку.
Разберите строку
["x","y","z"]
в список строк и выведите второй элемент.
Объявите @Serializable data class
GuestCard с полями name
и surn, затем VisitPlace
с полем user типа GuestCard
и полем city. Разберите
{"user":{"name":"john","surn":"smit"},"city":"London"}
и выведите имя и город.
Разберите
{"list1":["value11","value12","value13"],"list2":["value21","value22","value23"]}
и выведите первый элемент второго списка.
Дана некорректная строка JSON без закрывающей скобки:
val broken = "{"
Разберите её в список строк. Если разбор не удался, выведите текст ошибки так, чтобы программа не завершилась аварийно.