kotlinx-serialization / kotlinx.serialization.builtins

Package kotlinx.serialization.builtins

Serializers for standard Kotlin types, like Int, String, List, etc.

Types

(common, js, jvm, native)

AbstractDecoder

A skeleton implementation of both Decoder and CompositeDecoder that can be used for simple formats and for testability purpose. Most of the decode* methods have default implementation that delegates decodeValue(value: Any) as TargetType. See Decoder documentation for information about each particular decode* method.

abstract class AbstractDecoder : Decoder, CompositeDecoder
(common, js, jvm, native)

AbstractEncoder

A skeleton implementation of both Encoder and CompositeEncoder that can be used for simple formats and for testability purpose. Most of the encode* methods have default implementation that delegates encodeValue(value: Any). See Encoder documentation for information about each particular encode* method.

abstract class AbstractEncoder : Encoder, CompositeEncoder
(common, js, jvm, native)

LongAsStringSerializer

Serializer that encodes and decodes Long as its string representation.

object LongAsStringSerializer : KSerializer<Long>

Extensions for External Classes

(common, js, jvm, native)

kotlin.Boolean

(common, js, jvm, native)

kotlin.Byte

(common, js, jvm, native)

kotlin.Char

(common, js, jvm, native)

kotlin.Double

(common, js, jvm, native)

kotlin.Float

(common, js, jvm, native)

kotlin.Int

(common, js, jvm, native)

kotlin.Long

(common, js, jvm, native)

kotlin.Short

(common, js, jvm, native)

kotlin.String

Properties

(common, js, jvm, native)

list

Creates a serializer for List<T> for the given serializer of type T.

val <T> KSerializer<T>.list: KSerializer<List<T>>
(common, js, jvm, native)

nullable

Returns a nullable serializer for the given serializer of non-null type.

val <T : Any> KSerializer<T>.nullable: KSerializer<T?>
(common, js, jvm, native)

set

Creates a serializer for Set<T> for the given serializer of type T.

val <T> KSerializer<T>.set: KSerializer<Set<T>>

Functions

(common, js, jvm, native)

ArraySerializer

Returns serializer for reference Array of type E with descriptor of StructureKind.LIST kind. Each element of the array is serialized with the given elementSerializer.

fun <T : Any, E : T?> ArraySerializer(elementSerializer: KSerializer<E>): KSerializer<Array<E>>
fun <T : Any, E : T?> ArraySerializer(kClass: KClass<T>, elementSerializer: KSerializer<E>): KSerializer<Array<E>>
(common, js, jvm, native)

BooleanArraySerializer

Returns serializer for BooleanArray with descriptor of StructureKind.LIST kind. Each element of the array is serialized one by one with Boolean.Companion.serializer.

fun BooleanArraySerializer(): KSerializer<BooleanArray>
(common, js, jvm, native)

ByteArraySerializer

Returns serializer for ByteArray with descriptor of StructureKind.LIST kind. Each element of the array is serialized one by one with Byte.Companion.serializer.

fun ByteArraySerializer(): KSerializer<ByteArray>
(common, js, jvm, native)

CharArraySerializer

Returns serializer for CharArray with descriptor of StructureKind.LIST kind. Each element of the array is serialized one by one with Char.Companion.serializer.

fun CharArraySerializer(): KSerializer<CharArray>
(common, js, jvm, native)

DoubleArraySerializer

Returns serializer for DoubleArray with descriptor of StructureKind.LIST kind. Each element of the array is serialized one by one with Double.Companion.serializer.

fun DoubleArraySerializer(): KSerializer<DoubleArray>
(common, js, jvm, native)

FloatArraySerializer

Returns serializer for FloatArray with descriptor of StructureKind.LIST kind. Each element of the array is serialized one by one with Float.Companion.serializer.

fun FloatArraySerializer(): KSerializer<FloatArray>
(common, js, jvm, native)

IntArraySerializer

Returns serializer for IntArray with descriptor of StructureKind.LIST kind. Each element of the array is serialized one by one with Int.Companion.serializer.

fun IntArraySerializer(): KSerializer<IntArray>
(common, js, jvm, native)

ListSerializer

Creates a serializer for List<T> for the given serializer of type T.

fun <T> ListSerializer(elementSerializer: KSerializer<T>): KSerializer<List<T>>
(common, js, jvm, native)

LongArraySerializer

Returns serializer for LongArray with descriptor of StructureKind.LIST kind. Each element of the array is serialized one by one with Long.Companion.serializer.

fun LongArraySerializer(): KSerializer<LongArray>
(common, js, jvm, native)

MapEntrySerializer

Returns built-in serializer for Map.Entry. Resulting serializer represents entry as a structure with a single key-value pair. E.g. Pair(1, 2) and Map.Entry(1, 2) will be serialized to JSON as {"first": 1, "second": 2} and {"1": 2} respectively.

fun <K, V> MapEntrySerializer(keySerializer: KSerializer<K>, valueSerializer: KSerializer<V>): KSerializer<Entry<K, V>>
(common, js, jvm, native)

MapSerializer

Creates a serializer for Map<K, V> for the given serializers for its ket type K and value type V.

fun <K, V> MapSerializer(keySerializer: KSerializer<K>, valueSerializer: KSerializer<V>): KSerializer<Map<K, V>>

PairSerializer

Returns built-in serializer for Kotlin Pair. Resulting serializer represents pair as a structure of two key-value pairs.

(common, js, native) fun <K, V> PairSerializer(keySerializer: KSerializer<K>, valueSerializer: KSerializer<V>): KSerializer<<ERROR CLASS><K, V>>
(jvm) fun <K, V> PairSerializer(keySerializer: KSerializer<K>, valueSerializer: KSerializer<V>): KSerializer<Pair<K, V>>
(common, js, jvm, native)

SetSerializer

Creates a serializer for Set<T> for the given serializer of type T.

fun <T> SetSerializer(elementSerializer: KSerializer<T>): KSerializer<Set<T>>
(common, js, jvm, native)

ShortArraySerializer

Returns serializer for ShortArray with descriptor of StructureKind.LIST kind. Each element of the array is serialized one by one with Short.Companion.serializer.

fun ShortArraySerializer(): KSerializer<ShortArray>

TripleSerializer

Returns built-in serializer for Kotlin Triple. Resulting serializer represents triple as a structure of three key-value pairs.

(common, js, native) fun <A, B, C> TripleSerializer(aSerializer: KSerializer<A>, bSerializer: KSerializer<B>, cSerializer: KSerializer<C>): KSerializer<<ERROR CLASS><A, B, C>>
(jvm) fun <A, B, C> TripleSerializer(aSerializer: KSerializer<A>, bSerializer: KSerializer<B>, cSerializer: KSerializer<C>): KSerializer<Triple<A, B, C>>
(common, js, jvm, native)

UnitSerializer

Returns serializer for UnitSerializer with descriptor of StructureKind.OBJECT kind.

fun UnitSerializer(): KSerializer<Unit>