Gson

To implement custom JSON configuration, create your own object singleton. Extra mappings can be added before done() is called.

Properties

Link copied to clipboard
open override val defaultContentType: ContentType
Link copied to clipboard
val mapper: Gson

Functions

Link copied to clipboard
open fun <T : JsonElement> array(value: T): JsonElement
open fun <T : JsonElement> array(value: Iterable<T>): JsonElement
Link copied to clipboard
inline fun <T : Any> asA(input: InputStream): T
inline fun <T : Any> asA(input: String): T
fun <T : Any> String.asA(target: KClass<T>): T
fun <T : Any> JsonElement.asA(target: KClass<T>): T
inline fun <T : Any> JsonElement.asA(): T
open override fun <T : Any> asA(j: JsonElement, target: KClass<T>): T
open override fun <T : Any> asA(input: InputStream, target: KClass<T>): T
open override fun <T : Any> asA(input: String, target: KClass<T>): T
Link copied to clipboard
open override fun JsonElement.asCompactJsonString(): String
Link copied to clipboard
open override fun asFormatString(input: Any): String
Link copied to clipboard
open fun asInputStream(input: Any): InputStream
Link copied to clipboard
open override fun <T : Iterable<JsonElement>> T.asJsonArray(): JsonElement
Link copied to clipboard
fun Any.asJsonObject(): JsonElement
open override fun <LIST : Iterable<Pair<String, JsonElement>>> LIST.asJsonObject(): JsonObject
open override fun String.asJsonObject(): JsonElement
open override fun asJsonObject(input: Any): JsonElement
Link copied to clipboard
open override fun BigDecimal?.asJsonValue(): JsonElement
open override fun BigInteger?.asJsonValue(): JsonElement
open override fun Boolean?.asJsonValue(): JsonElement
open override fun Double?.asJsonValue(): JsonElement
open override fun Int?.asJsonValue(): JsonElement
open override fun Long?.asJsonValue(): JsonElement
open override fun String?.asJsonValue(): JsonElement
Link copied to clipboard
open override fun JsonElement.asPrettyJsonString(): String
Link copied to clipboard
inline fun <T : Any> Body.Companion.auto(description: String? = null, contentNegotiation: ContentNegotiation = None, contentType: ContentType = defaultContentType): BiDiBodyLensSpec<T>
Link copied to clipboard
inline fun <T : Any> autoBody(description: String? = null, contentNegotiation: ContentNegotiation = None, contentType: ContentType = defaultContentType): BiDiBodyLensSpec<T>
Link copied to clipboard
inline fun <IN : Any, OUT : Any> autoLens(lens: BiDiLensSpec<IN, String>): BiDiLensSpec<IN, OUT>
Link copied to clipboard
open fun body(description: String?, contentNegotiation: ContentNegotiation): BiDiBodyLensSpec<JsonElement>
Link copied to clipboard
open override fun bool(value: JsonElement): Boolean
Link copied to clipboard
open fun boolean(value: Boolean): JsonElement
Link copied to clipboard
open fun compact(node: JsonElement): String
Link copied to clipboard
open fun compactify(input: String): String
Link copied to clipboard
inline fun <IN : Any, OUT : Any> convert(input: IN): OUT
Link copied to clipboard
open override fun decimal(value: JsonElement): BigDecimal
Link copied to clipboard
open override fun elements(value: JsonElement): Iterable<JsonElement>
Link copied to clipboard
open override fun fields(node: JsonElement): Iterable<Pair<String, JsonElement>>
Link copied to clipboard
open override fun integer(value: JsonElement): Long
Link copied to clipboard
open operator fun <T> invoke(fn: Json<JsonElement>.() -> T): T
Link copied to clipboard
inline operator fun <T : Any, R : HttpMessage> ConfigurableGson.invoke(item: T): (R) -> R
inline operator fun <T : Any> ConfigurableGson.invoke(msg: HttpMessage): T
Link copied to clipboard
open fun <IN : Any> BiDiLensSpec<IN, String>.json(): BiDiLensSpec<IN, JsonElement>
open fun Body.Companion.json(description: String?, contentNegotiation: ContentNegotiation): BiDiBodyLensSpec<JsonElement>
Link copied to clipboard
open fun <IN : Any> jsonLens(spec: BiDiLensSpec<IN, String>): BiDiLensSpec<IN, JsonElement>
Link copied to clipboard
open fun nullNode(): JsonElement
Link copied to clipboard
open fun number(value: BigDecimal): JsonElement
open fun number(value: BigInteger): JsonElement
open fun number(value: Double): JsonElement
open fun number(value: Int): JsonElement
open fun number(value: Long): JsonElement
Link copied to clipboard
open fun obj(): JsonElement
open fun <T : JsonElement> obj(vararg fields: Pair<String, T>): JsonElement
open fun <T : JsonElement> obj(value: Iterable<Pair<String, T>>): JsonElement
Link copied to clipboard
open fun parse(input: String): JsonElement
Link copied to clipboard
open fun prettify(input: String): String
Link copied to clipboard
open fun pretty(node: JsonElement): String
Link copied to clipboard
open fun string(value: String): JsonElement
Link copied to clipboard
open override fun text(value: JsonElement): String
Link copied to clipboard
open override fun textValueOf(node: JsonElement, name: String): String
Link copied to clipboard
open override fun typeOf(value: JsonElement): JsonType
Link copied to clipboard
inline fun <T : Any, R : HttpMessage> R.with(t: T): R
Link copied to clipboard
inline fun <T : Any> HttpMessage.yaml(): T

Convenience function to read an object as YAML from the message body.

inline fun <T : Any, R : HttpMessage> R.yaml(t: T): R

Convenience function to write the object as JSON to the message body and set the content type.