微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Json$Default 不能转换为 kotlinx.serialization.json.Json

如何解决Json$Default 不能转换为 kotlinx.serialization.json.Json

kotlinx.serialization 和在 androidTest 中运行测试的问题。

Lib 版本:

org.jetbrains.kotlinx:kotlinx-serialization-json:1.0.1
org.jetbrains.kotlin:kotlin-stdlib:1.4.10

我的 Json 实例:

Json(Json.Default) {
    serializersModule = SerializersModule {
        // serializers here
    }
    coerceInputValues = true
    ignoreUnkNownKeys = true
    isLenient = true
}

界面测试方案

stub json -> json 反序列化 kotlinx.serialization.json -> 显示屏幕

如果我在 androidTest 文件夹中运行 UI 测试,我会得到异常

java.lang.classCastException: kotlinx.serialization.json.Json$Default cannot be cast to kotlinx.serialization.json.Json

您知道如何解决这个问题吗?

更新

另一种变体。无认使用

Json {
    serializersModule = SerializersModule {
        // serializers here
    }
    coerceInputValues = true
    ignoreUnkNownKeys = true
    isLenient = true
}

异常

No static method Json$default(Lkotlinx/serialization/json/Json;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lkotlinx/serialization/json/Json

解决方法

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。