MapJsonReader

class MapJsonReader @JvmOverloads constructor(val root: Map<String, Any?>, pathRoot: List<Any> = emptyList()) : JsonReader

A JsonReader that reads data from a regular Map

Map values should be any of:

  • String

  • Int

  • Double

  • Long

  • JsonNumber

  • null

  • Map where values are any of these values recursively

  • List where values are any of these values recursively

Anything else is undefined

To read from a okio.BufferedSource, see also BufferedSourceJsonReader

Parameters

root

the root Map to read from

pathRoot

the path root to be prefixed to the returned path when calling getPath. Useful for buffer.

Constructors

Link copied to clipboard
fun MapJsonReader(root: Map<String, Any?>, pathRoot: List<Any> = emptyList())

Types

Link copied to clipboard
object Companion

Functions

Link copied to clipboard
open override fun beginArray(): MapJsonReader

Consumes the next token from the JSON stream and asserts that it is the beginning of a new array.

Link copied to clipboard
open override fun beginObject(): MapJsonReader

Consumes the next token from the JSON stream and asserts that it is the beginning of a new object.

Link copied to clipboard
open override fun close()
Link copied to clipboard
open override fun endArray(): MapJsonReader

Consumes the next token from the JSON stream and asserts that it is the end of the current array.

Link copied to clipboard
open override fun endObject(): MapJsonReader

Consumes the next token from the JSON stream and asserts that it is the end of the current object.

Link copied to clipboard
open override fun getPath(): List<Any>

Returns the current path of the JSON being read, as a List. The elements can either be Strings (names) or Integers (array indices).

Link copied to clipboard
open override fun hasNext(): Boolean

Returns true if the current array or object has another element.

Link copied to clipboard
open override fun nextBoolean(): Boolean

Returns the Token.BOOLEAN value of the next token, consuming it.

Link copied to clipboard
open override fun nextDouble(): Double

Returns the Token.NUMBER value of the next token, consuming it.

Link copied to clipboard
open override fun nextInt(): Int

Returns the Token.NUMBER value of the next token, consuming it.

Link copied to clipboard
open override fun nextLong(): Long

Returns the Token.NUMBER value of the next token, consuming it.

Link copied to clipboard
open override fun nextName(): String

Returns the next token Token.NAME, and consumes it.

Link copied to clipboard
open override fun nextNull(): Nothing?

Consumes the next token from the JSON stream and asserts that it is a literal null. Returns null.

Link copied to clipboard
open override fun nextNumber(): JsonNumber

Returns the Token.NUMBER value of the next token, consuming it.

Link copied to clipboard
open override fun nextString(): String?

Returns the Token.STRING value of the next token, consuming it.

Link copied to clipboard
fun nextValue(): Any
Link copied to clipboard
open override fun peek(): JsonReader.Token

Returns the type of the next token without consuming it.

Link copied to clipboard
open override fun rewind()

Rewinds to the beginning of the current object.

Link copied to clipboard
open override fun selectName(names: List<String>): Int

An optimized way to retrieve the nextName when the candidates and their order is known. selectName maintains the current index in the list and saves having to string compare nextName to every candidate.

Link copied to clipboard
open override fun skipValue()

Skips the next value recursively. If it is an object or array, all nested elements are skipped.

Properties

Link copied to clipboard
val root: Map<String, Any?>