Ktor 客户端的 JsonFeature 未解决

Posted

技术标签:

【中文标题】Ktor 客户端的 JsonFeature 未解决【英文标题】:JsonFeature for Ktor Client is unresolved 【发布时间】:2021-05-03 05:43:48 【问题描述】:

我正在 android 中启动基于 Ktor 的客户端,我想使用任何序列化程序,目前,来自 kotlinx 的序列化程序,但其他序列化程序的结果相同 - 未找到 JsonFeature(在下面的 sn-p 中突出显示)。我错过了什么?

class StreamClient 
    val client: HttpClient
    init 
        client = HttpClient(Android) 
            install(JsonFeature) 
                serializer = KotlinxSerializer()
            
        
    

分级:

implementation("io.ktor:ktor-client-core:$ktor_version")
implementation("io.ktor:ktor-client-android:$ktor_version")
implementation("io.ktor:ktor-client-serialization:$ktor_version")
implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.0.0")

【问题讨论】:

看来我的说法是错误的——如果我使用 GSON 序列化程序,就会找到 JsonFeature。我想我需要一个完整的多平台设置才能使用 kotlin x 序列化程序。 这里一样,但为什么?好像kotlinx有JVM branch,但是JsonFeature还是不可用……郁闷。 【参考方案1】:

这与您的问题完全无关,但由于 Ktor 2.0 JsonFeature 已被弃用,取而代之的是 ContentNegotation

install(ContentNegotiation) 
    json()

https://ktor.io/docs/eap/serialization-client.html#install_plugin

【讨论】:

【参考方案2】:

Json documentation 中描述的所有依赖项都公开了包含JsonFeaturektor-client-json 模块的API。

【讨论】:

以上是关于Ktor 客户端的 JsonFeature 未解决的主要内容,如果未能解决你的问题,请参考以下文章

如何将 GsonSerializer 用于 ktor?

如何使用 ktor 获取客户端 IP

如何使用针对 linuxX64 的 ktor-client-core 修复“未解决的参考:HttpClient”

Ktor App 部署到 AppEngine 时未调用 Main 方法

Ktor 后端的 CORS 问题

“未找到转换:类 io.ktor.utils.io.ByteChannelNative”错误使用 Ktor