kotlin-json5

kotlin multiplatform json5 for kotlinx.serialization
complete multiplatform support: jvm/js/native
Usage
implementation("li.songe:json5:latest")
Decode
Json5String -> JsonElement
val element = Json5.parseToJson5Element("{a:1}")
Json5String -> Object
val json = Json {
ignoreUnknownKeys = true
}
@Serializable
data class A(val id:Int)
val a = json.decodeFromJson5String<A>("{id:0, b:''}")
Decode Json5Token
Json5String -> Json5Token
val (element, ranges) = Json5.parseToJson5ElementAndRanges("{a:1}")
Loose Json5String -> Json5Token
val ranges = Json5.parseToJson5LooseRanges("{a:1,]{")
Encode
JsonElement -> Json5String
val formatted: String = Json5.encodeToString(element)
Object -> Json5String
val json = Json {
}
@Serializable
data class A(val id:Int)
val formatted: String = json.encodeToJson5String(A(id=0))
or use Json5EncoderConfig
Additional
comments is ignored in json5 strings