JsonGenerator

trait JsonGenerator extends AutoCloseable

Defines JSON generator.

import java.io.StringWriter
import little.json.*
import little.json.Implicits.given
import scala.language.implicitConversions

val buf = StringWriter()
val out = JsonGenerator(buf)

try
 out.writeStartObject()          // start root object
 out.write("id", 1000)
 out.write("name", "jza")
 out.writeStartArray("groups")   // start nested array
 out.write("jza")
 out.write("adm")
 out.write("sudo")
 out.writeEnd()                  // end nested array
 out.writeStartObject("info")    // start nested object
 out.write("home", "/home/jza")
 out.write("storage", "8 GiB")
 out.writeEnd()                  // end nested object
 out.writeEnd()                  // end root object
 out.flush()

 val json = Json.parse(buf.toString)
 assert { json("id") == JsonNumber(1000) }
 assert { json("name") == JsonString("jza") }
 assert { json("groups") == Json.arr("jza", "adm", "sudo") }
 assert { json("info") == Json.obj("home" -> "/home/jza", "storage" -> "8 GiB") }
finally
 out.close()
See also
Companion
object
trait AutoCloseable
class Object
trait Matchable
class Any

Value members

Abstract methods

def close(): Unit

Closes writer.

Closes writer.

def flush(): Unit

Flushes writer.

Flushes writer.

def write(name: String, value: JsonValue): JsonGenerator

Writes field to output.

Writes field to output.

Value Params
name

field name

value

JSON value

Writes value to output.

Writes value to output.

Value Params
value

JSON value

Writes closing brace or bracket based on current context.

Writes closing brace or bracket based on current context.

def writeStartArray(name: String): JsonGenerator

Writes field declaration and opening bracket to start array context.

Writes field declaration and opening bracket to start array context.

Value Params
name

field name

Writes opening brace to start array context.

Writes opening brace to start array context.

def writeStartObject(name: String): JsonGenerator

Writes field declaration and opening brace to start object context.

Writes field declaration and opening brace to start object context.

Value Params
name

field name

Writes opening brace to start object context.

Writes opening brace to start object context.