有一个具有默认值的类的示例:
@Serializable
data class TestClass(
val obligatory: String,
val optional: Int = 0
)
Run Code Online (Sandbox Code Playgroud)
它可以从 json 正确反序列化,例如:{ "obligatory":"text", "optional":1 }和{ "obligatory":"text" }。
同时,其序列化的结果必须包含“可选”属性。
序列化的结果:
Json.encodeToString(TestClass("text"))
Run Code Online (Sandbox Code Playgroud)
我期待{ "obligatory":"text", "optional":0 },但现在我有了{ "obligatory":"text" }。
我应该如何更改代码才能达到预期结果?
我需要从列表中获取地图,其中所有偶数元素都应成为键和所有赔率 - 值:
val elements = listOf("k1", "v1", "k2", "v2", "k3", "v3")
val myMap: MutableMap<String, String> = mutableMapOf()
for (i in elements.indices step 2) {
myMap[elements[i]] = elements[i + 1]
}
Run Code Online (Sandbox Code Playgroud)
在 Kotlin 中有没有更惯用的方法来做到这一点?