kotlin multiplatform json5 for kotlinx.serialization
implementation("li.songe:json5:0.3.1")
Json5String -> JsonElement
// import li.songe.json5.Json5
val element = Json5.parseToJson5Element("{a:1}")
Json5String -> Object
// import kotlinx.serialization.json.Json
// import kotlinx.serialization.Serializable
// import li.songe.json5.decodeFromJson5String
val json = Json {
// add your json config
ignoreUnknownKeys = true
}
@Serializable
data class A(val id:Int)
val a = json.decodeFromJson5String<A>("{id:0, b:''}")
Json5String -> Json5Token
val (element, ranges) = Json5.parseToJson5ElementAndRanges("{a:1}")
Loose Json5String -> Json5Token
val ranges = Json5.parseToJson5LooseRanges("{a:1,]{")
JsonElement -> Json5String
// import li.songe.json5.Json5
val formatted: String = Json5.encodeToString(element)
Object -> Json5String
// import kotlinx.serialization.json.Json
// import kotlinx.serialization.Serializable
// import li.songe.json5.encodeToJson5String
val json = Json {
// add your json config
ignoreUnknownKeys = true
}
@Serializable
data class A(val id:Int)
val formatted: String = json.encodeToJson5String(A(id=0))