1 // This file was automatically generated from json.md by Knit tool. Do not edit. 2 package example.exampleJson11 3 4 import kotlinx.serialization.* 5 import kotlinx.serialization.json.* 6 7 @Serializable 8 @JsonClassDiscriminator("message_type") 9 sealed class Base 10 11 @Serializable // Class discriminator is inherited from Base 12 sealed class ErrorClass: Base() 13 14 @Serializable 15 data class Message(val message: Base, val error: ErrorClass?) 16 17 @Serializable 18 @SerialName("my.app.BaseMessage") 19 data class BaseMessage(val message: String) : Base() 20 21 @Serializable 22 @SerialName("my.app.GenericError") 23 data class GenericError(@SerialName("error_code") val errorCode: Int) : ErrorClass() 24 25 <lambda>null26val format = Json { classDiscriminator = "#class" } 27 mainnull28fun main() { 29 val data = Message(BaseMessage("not found"), GenericError(404)) 30 println(format.encodeToString(data)) 31 } 32