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.
io.ktor.client.features.json.JsonFeature
in the artifact io.ktor:ktor-client-json:$ktor_version
.
dependencies {
compile "io.ktor:ktor-client-json:$ktor_version"
}
dependencies {
compile("io.ktor:ktor-client-json:$ktor_version")
}
<project>
...
<dependencies>
<dependency>
<groupId>io.ktor</groupId>
<artifactId>ktor-client-json</artifactId>
<version>${ktor.version}</version>
<scope>compile</scope>
</dependency>
</dependencies>
</project>
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()
val client = HttpClient(HttpClientEngine) {
install(JsonFeature) {
serializer = GsonSerializer()
}
}
To use this feature, you need to include io.ktor:ktor-client-gson
artifact.
val client = HttpClient(HttpClientEngine) {
install(JsonFeature) {
serializer = JacksonSerializer()
}
}
To use this feature, you need to include io.ktor:ktor-client-jackson
artifact.
val client = HttpClient(HttpClientEngine) {
install(JsonFeature) {
serializer = KotlinxSerializer()
}
}
To use this feature, you need to include io.ktor:ktor-client-json-jvm
artifact on the jvm.