Cicero
11/28/2020, 11:30 PMio.ktor.client.features.json.serializer
internal fun writeContent(data: Any): String =
json.encodeToString(buildSerializer(data, json.serializersModule), data)
This is in like 29
this comes out: {“from”:“slorg@gmail.com”,“hours”[200],“startDate”“2020-10-29T013116.993Z”,“title”“Hkkljf”,“to”“jorebs@gmail.com”}Marc Knaup
11/29/2020, 12:35 AMCicero
11/29/2020, 12:56 AMCicero
11/29/2020, 12:57 AMfun toJson(field: Reminder): String {
//Notice we call a serializer method which is autogenerated from our class
//once we have added the annotation to it
return Json.encodeToString(Reminder.serializer(), field)
}
import kotlinx.serialization.json.Json
@Serializable
data class Reminder(
var actionType: String? = ActionType.BOOLEAN.type.toLowerCase(),
var from: String? = null,
val hours: List<Int>? = null,
val startDate: String? = null,
val title: String? = null,
var to: String? = null,
var frequency: Int? = 1,
var frequencyType: String? = FrequencyType.NO_REPEATABLE.name.toLowerCase()
)
Cicero
11/29/2020, 12:58 AMCicero
11/29/2020, 12:58 AMMarc Knaup
11/29/2020, 1:00 AMJson
doesn’t encode default values by default. frequency
is 1
by default so it’s not encoded.
See https://github.com/Kotlin/kotlinx.serialization/blob/master/docs/json.md#encoding-defaults