gpt4 book ai didi

KMM iOS 中的 kotlin.native.concurrent.InvalidMutabilityException : mutation attempt of frozen kotlin. collections.HashMap@3ee0f08

转载 作者:行者123 更新时间:2023-12-04 02:25:33 25 4
gpt4 key购买 nike

我使用的是 Kotlin 1.5.10 和 ktor 1.6.0。
当我执行网络提取时

    private suspend fun getHello(): Model.Result {
return httpClient.get("https://en.wikipedia.org/w/api.php?action=query&format=json&list=search&srsearch=multiplatform")
}

使用数据模型
    object Model {
@Serializable
data class Result(val query: Query)
@Serializable
data class Query(val searchinfo: SearchInfo)
@Serializable
data class SearchInfo(val totalhits: Int)
}
Android 版本编译良好并响应
Result(query=Query(searchInfo=SearchInfo(totalhits=707)))
但是,当我在 iOS 中编译它时,它返回崩溃
RESPONSE https://en.wikipedia.org/w/api.php?action=query&format=json&list=search&srsearch=multiplatform failed with exception: 
kotlin.native.concurrent.InvalidMutabilityException: mutation attempt of frozen kotlin.collections.HashMap@2566888
StackOverflow推荐下载到 1.3.10 ,但我不能这样做,因为 KMM 不会在我最新的 Android Studio 4.2.1 中编译。此外,我不将协程用于 commonMain 代码(仅在 Android 代码中)。
StackOverflow状态问题 Kodein ,但我不使用 Kodein .
注意:我的代码与 https://www.youtube.com/watch?v=_Q62iJoNOfg 相同,除了型号和网址不同。
任何人都可以建议我们如何解决这个问题?

最佳答案

我在这里发现了一个问题 https://github.com/Kotlin/kotlinx.serialization/issues/1450 .
我尝试了一种解决方法,即 useAlternativeNames = false对于 Json 序列化配置,它解决了我的问题

        install(JsonFeature) {
val json = kotlinx.serialization.json.Json {
ignoreUnknownKeys = true
useAlternativeNames = false
}
serializer = KotlinxSerializer(json)
}

关于KMM iOS 中的 kotlin.native.concurrent.InvalidMutabilityException : mutation attempt of frozen kotlin. collections.HashMap@3ee0f08,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67969562/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com