Json
note
This help topic is in development and will be updated in the future.
Processes the request and the response payload as JSON, serializing and de-serializing them using a specific serializer: JsonSerializer
.
val client = HttpClient(HttpClientEngine) {
install(JsonFeature)
}
You have a full example using JSON.
note
To use this feature with Kotlin/JS, you need to include the
io.ktor:ktor-client-json-js
artifact.
Serializers
The JsonFeature
has a default serializer(implicitly obtained or by calling defaultSerializer()
) based on a ServiceLoader on JVM(supporting Gson or Jackson depending on the artifact included), and a serializer based on kotlinx.serialization for Native as well as for JavaScript.
You can also get the default serializer by calling io.ktor.client.features.json.defaultSerializer()
Gson
val client = HttpClient(HttpClientEngine) {
install(JsonFeature) {
serializer = GsonSerializer()
}
}
note
To use this feature, you need to include
io.ktor:ktor-client-gson
artifact.
Jackson
val client = HttpClient(HttpClientEngine) {
install(JsonFeature) {
serializer = JacksonSerializer()
}
}
note
To use this feature, you need to include
io.ktor:ktor-client-jackson
artifact.
Kotlinx.Serialization
val client = HttpClient(HttpClientEngine) {
install(JsonFeature) {
serializer = KotlinxSerializer()
}
}
note
To use this feature, you need to include
io.ktor:ktor-client-serialization-jvm
artifact on the JVM andio.ktor:ktor-client-serialization-native
on iOS.