我遇到了 kotlin 序列化问题,需要一些帮助:
import kotlinx.serialization.json.Json
fun main() {
val someValue: Double = 1.0
val someKey: String? = null
HashMap(readMapFromStorage()).also {
it[someKey?:""] = someValue
}.let {
Json.encodeToString(it) // Cannot infer type for this parameter. Please specify it explicitly.
}.let {
runBlocking<Unit> { async { writeString("SomeCategory", it) } }
}
}
private fun readMapFromStorage(): Map<String, Double> {
return mapOf(
"" to 1.0,
"A" to 1.5,
"B" to 2.0,
)
}
private fun writeString(key: String, value: String) {
// do something clever
}
我在 IDE 中调用以下第 10 行时收到错误Json.encodeToString(it)
:
无法推断此参数的类型。请明确指定。
这是为什么?
it
这里HashMap<String, Double>
(据我所知)应该是可序列化的。我找到的所有教程都准确演示了我尝试过的方法(据我所知)。那么为什么他的工作不成功呢?