kotlin - ktor 与 kotlinx 序列化 : how to use JSON. 非严格

标签 kotlin ktor kotlinx.serialization

我正在尝试初始化 Ktor http 客户端并设置 json 序列化。我需要允许 JSON.nonstrict 对象允许的非严格反序列化。只是不知道如何将此设置应用于序列化器。

 val client = HttpClient {
                install(JsonFeature) {
                    serializer = KotlinxSerializer()                    
                }
        }

最佳答案

您可以使用 Json 构建器指定 json 配置,并将其传递到 KotlinxSerializer 中。

val client = HttpClient {
    install(JsonFeature) {
        serializer = KotlinxSerializer(Json {
            isLenient = true
            ignoreUnknownKeys = true
        })                    
    }
}

Json 构建器的确切字段是实验性的,可能会发生变化,因此请查看 source code here.

关于kotlin - ktor 与 kotlinx 序列化 : how to use JSON. 非严格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53547437/

相关文章:

android - travis ci 构建失败 - 原因 : PermGen space

http - 如何使用 Ktor 客户端上传文件

kotlin - Ktor 从 receive() 与 ContentNegotiation 一起使用的端点返回 415

kotlin - 如何使用 kotlinx 序列化 json 的动态键

json - kotlinx 序列化——进行多态子反序列化的最佳方式

android - SelectionTracker 未在我的 Recyclerview 中选择任何内容

android - 每当我尝试添加新的字符串资源时,Strings.xml 都会出现翻译错误

android - 在 fragment 中注册ForActivityResult

kotlin - 如何在 ktor http 客户端记录请求?

json - 使用 Kotlinx.serialization 将 JSON 数组解析为 Map<String, String>