Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗ktSpSrWr 134 of 299 menu
◀ ▶

Запись в строку в Kotlin

Запись в строку начинается с помеченного типа и экземпляра в памяти. Объект Json по умолчанию собирает компактный JSON без лишних пробелов и переносов строк.

Описание доставки удобно хранить как data class с идентификатором и весом посылки. Аннотация @Serializable включает генерацию кодека для этого типа:

import kotlinx.serialization.Serializable import kotlinx.serialization.json.Json @Serializable data class Shipment(val id: String, val weightKg: Double) fun main() { val parcel = Shipment("A-17", 2.5) val text = Json.encodeToString(parcel) println(text) }

В выводе имена свойств становятся ключами JSON, числа и строки записываются в формате, принятом для JSON. Тот же вызов можно применить к списку или к nullable-полю внутри класса - правила задаёт объявление типа.

Иногда строку нужно собрать с отступами для чтения человеком. У объекта Json есть свойство prettyPrint: при значении true результат разбивается на строки с вложенностью:

import kotlinx.serialization.Serializable import kotlinx.serialization.json.Json @Serializable data class Shipment(val id: String, val weightKg: Double) fun main() { val parcel = Shipment("B-02", 0.8) val pretty = Json { prettyPrint = true } println(pretty.encodeToString(parcel)) }

Опишите @Serializable data class Ticket с полями code типа String и price типа Int. Создайте билет с кодом "K7" и ценой 1200, запишите его в JSON-строку и выведите результат.

Для того же типа включите красивый вывод через настройку Json. Запишите билет с кодом "M1" и ценой 500 и выведите многострочный текст.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить