-
Notifications
You must be signed in to change notification settings - Fork 0
Low level parsing and writing
Benjozork edited this page Nov 17, 2018
·
1 revision
kson uses a JsonReader to read JSON strings.
It is basically a java StringReader with added functionality and convenience.
WARNING: THIS IS VERY MUCH WORK IN PROGRESS, AND TEMPORARY.
// use whatever JSON string we want to use
val sourceJson = """
{
"abcd": "efgh",
"array": [
"ijkl",
"mnop",
"qrst"
],
"uvxy": "z"
}
""".trimIndent()
// create a JsonReader from our string
val jsonReader = JsonReader(sourceJson)
// read the JSON and return a map
val parsedJson: Map<String, Any> = JsonObjectParser.read(jsonReader)
println(parsedJson)Output:
{uvxy = z, array = [ijkl, mnop, qrst], abcd = efgh}
WARNING: THIS IS VERY MUCH WORK IN PROGRESS, AND TEMPORARY.
kson uses a JsonWriter to write JSON strings.
It is basically a java StringBuilder with added functionality and convenience.
val bd = StringBuilder()
val writer = JsonWriter(bd)
JsonObjectWriter.print(writer, mapOf("abcd" to "efgh", "array" to listOf("ijkl", "mnop", "qrst"), "uvxy" to "z"))
println(bd.toString())Output:
{
"abcd": "efgh",
"array": [
"ijkl",
"mnop",
"qrst"
],
"uvxy": "z"
}