Package-level declarations

Types

Link copied to clipboard
sealed class AbstractJsonElementSerializer<T : JsonElement> : KSerializer<T>
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
@Target(allowedTargets = [AnnotationTarget.PROPERTY])
@SerialInfo
annotation class JsonInline

Serialized form of property marked with JsonInline will be inlined into parent class. Applicable only for serializable elements of kinds:

Link copied to clipboard

Serializer object providing kotlinx.serialization.SerializationStrategy and kotlinx.serialization.DeserializationStrategy for JsonNull. It can only be used by with ZeroJson format and its input (ZeroJsonDecoder and ZeroJsonEncoder).

Link copied to clipboard
class JsonNumberIsOutOfRange(min: Number, max: Number, position: Int = -1, path: String? = null) : ZeroJsonDecodingException
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
abstract class JsonReader
Link copied to clipboard
class JsonReaderConfig(val expectStringQuotes: Boolean = !ZeroJsonConfiguration.Default.isLenient, val allowComments: Boolean = ZeroJsonConfiguration.Default.allowComments, val allowSpecialFloatingPointValues: Boolean = ZeroJsonConfiguration.Default.allowSpecialFloatingPointValues, val stringBuilder: StringBuilder = StringBuilder(), val messageBuilder: StringBuilder = StringBuilder(), val depthLimit: Int = ZeroJsonConfiguration.Default.maxStructureDepth, val allowTrailingComma: Boolean = ZeroJsonConfiguration.Default.allowTrailingComma)
Link copied to clipboard
interface JsonWriter
Link copied to clipboard
@SerialInfo
@Target(allowedTargets = [AnnotationTarget.CLASS])
annotation class MaterializedDiscriminator

Allows discriminator to physically present in marked class.

Link copied to clipboard
expect open class NoStackTraceSerializationException(message: String? = null, cause: Throwable? = null) : SerializationException
actual open class NoStackTraceSerializationException(message: String?, cause: Throwable?) : SerializationException
actual open class NoStackTraceSerializationException(message: String?, cause: Throwable?) : SerializationException
Link copied to clipboard
sealed class ZeroJson : StringFormat, BinaryFormat

The main entry point to work with JSON serialization. It is typically used by constructing an application-specific instance, with configured JSON-specific behaviour and, if necessary, registered in SerializersModule custom serializers. ZeroJson instance can be configured in its ZeroJson {} factory function using ZeroJsonBuilder. For demonstration purposes or trivial usages, ZeroJson companion can be used instead.

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
class ZeroJsonConfiguration(val serializersModule: SerializersModule = EmptySerializersModule(), val namingStrategy: JsonNamingStrategy? = null, val ignoreUnknownKeys: Boolean = false, val decodeEnumsCaseInsensitive: Boolean = false, val useAlternativeNames: Boolean = true, val explicitNulls: Boolean = false, val encodeDefaults: Boolean = false, val allowSpecialFloatingPointValues: Boolean = false, val allowComments: Boolean = false, val coerceInputValues: Boolean = false, val isLenient: Boolean = true, val classDiscriminator: String = "type", val stableDefaultProviders: Boolean = false, val maxStructureDepth: Int = 60, val maxKeyLengthBytes: Int = 1024, val maxOutputBytes: Int = 100 * 1024, val maxInlineProperties: Int = 4096, val fullStackTraces: Boolean = false, val allowTrailingComma: Boolean = false, val strictJsonPrimitives: Boolean = true, val structuredMapKeysMode: StructuredMapKeysMode = StructuredMapKeysMode.ESCAPED_STRING, val discriminatorConflict: DiscriminatorConflictDetection = DiscriminatorConflictDetection.SEALED) : ZeroJsonConfigurationBase
Link copied to clipboard
sealed interface ZeroJsonConfigurationBase
Link copied to clipboard
interface ZeroJsonDecoder : JsonDecoder
Link copied to clipboard
open class ZeroJsonDecodingException(message: String, position: Int = -1, path: String? = null, cause: Throwable? = null) : NoStackTraceSerializationException, DecodingException
Link copied to clipboard
typealias ZeroJsonElement = Any
Link copied to clipboard
interface ZeroJsonEncoder : Encoder, JsonEncoder
Link copied to clipboard
Link copied to clipboard
interface ZeroJsonTextDecoder : ZeroJsonDecoder, ChunkedDecoder

Functions

Link copied to clipboard
inline fun <T> ZeroJson.decode(input: Buffer): T

A concise equivalent of decode(serializersModule.serializer<T>(), input) with automatically inferred serializer.

inline fun <T> ZeroJson.decode(input: CharSequence): T
Link copied to clipboard
inline fun <T> ZeroJson.decodeFromJsonElement(json: JsonElement): T

Deserializes the given json element into a value of type T using a deserializer retrieved from reified type parameter.

Link copied to clipboard
inline fun <T> ZeroJson.encode(value: T, output: MutableBuffer): Int

A concise equivalent of encode(serializersModule.serializer<T>(), output) with automatically inferred deserializer.

Link copied to clipboard
inline fun <T> ZeroJson.encodeToJsonElement(value: T): JsonElement

Serializes the given value into an equivalent JsonElement using the given serializer.

Link copied to clipboard
Link copied to clipboard
inline fun <T : Any> JsonReader.readNullable(read: JsonReader.() -> T): T?
Link copied to clipboard
Link copied to clipboard
fun JsonReader.readPrimitive(expectQuotes: Boolean = config.expectStringQuotes): ZeroJsonElement?
Link copied to clipboard
Link copied to clipboard
@InternalSerializationApi
fun ZeroJson.setKtxJson(json: Json)
Link copied to clipboard
Link copied to clipboard
inline fun ZeroJson(prototype: ZeroJson = ZeroJson.Default, builder: ZeroJsonBuilder.() -> Unit): ZeroJson
@ExperimentalSerializationApi
fun ZeroJson(configuration: JsonConfiguration, serializersModule: SerializersModule): ZeroJson
Link copied to clipboard
inline fun ZeroJsonCompat(builder: ZeroJsonBuilder.() -> Unit): ZeroJson
Link copied to clipboard
@InternalSerializationApi
fun ZeroJsonConfig(configuration: JsonConfiguration, serializersModule: SerializersModule): ZeroJsonConfiguration