blob: 6c8e1662590352f97e4ce67d11096e59c8a1175d (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
package kotlinx.serialization.json.parser.examples
import kotlinx.serialization.json.*
abstract class JsonParser<T: Any> {
abstract fun write(value: T): JsonElement
fun writeNullable(value: T?): JsonElement {
if (value == null) return JsonNull
return write(value)
}
abstract fun read(json: JsonObject): T
fun read(json: JsonElement): T? {
if (json.isNull) return null
return read(json.jsonObject)
}
fun read(string: String): T = read(Json.plain.parseJson(string).jsonObject)
}
|