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 object context.

Writes field to object context.

Value Params
name

field name

value

JSON value

Writes value to array context.

Writes value to array context.

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 bracket to start array context.

Writes opening bracket 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.

Concrete methods

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

Writes field to object context.

Writes field to object context.

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

Writes field to object context.

Writes field to object context.

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

Writes field to object context.

Writes field to object context.

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

Writes field to object context.

Writes field to object context.

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

Writes field to object context.

Writes field to object context.

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

Writes field to object context.

Writes field to object context.

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

Writes field to object context.

Writes field to object context.

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

Writes field to object context.

Writes field to object context.

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

Writes field to object context.

Writes field to object context.

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

Writes field to object context.

Writes field to object context.

def write(value: String): JsonGenerator

Writes value to array context.

Writes value to array context.

Value Params
value

JSON value

def write(value: Byte): JsonGenerator

Writes value to array context.

Writes value to array context.

def write(value: Short): JsonGenerator

Writes value to array context.

Writes value to array context.

def write(value: Int): JsonGenerator

Writes value to array context.

Writes value to array context.

def write(value: Long): JsonGenerator

Writes value to array context.

Writes value to array context.

def write(value: Float): JsonGenerator

Writes value to array context.

Writes value to array context.

def write(value: Double): JsonGenerator

Writes value to array context.

Writes value to array context.

def write(value: BigInt): JsonGenerator

Writes value to array context.

Writes value to array context.

def write(value: BigDecimal): JsonGenerator

Writes value to array context.

Writes value to array context.

def write(value: Boolean): JsonGenerator

Writes value to array context.

Writes value to array context.

def writeNull(name: String): JsonGenerator

Writes field with null value to object context.

Writes field with null value to object context.

Value Params
name

field name

Writes null value to array context.

Writes null value to array context.