我在javascript平台上使用kotlin。此代码在第六行上失败,例外情况为“Uncaught TypeError:a.c.iterator不是函数”。Kotlin JS JSON反序列化
class A(val b: String, val c: List<String>)
fun main(args: Array<String>) {
val a = JSON.parse<A>("""{"b": "b_value", "c": ["c_value_1", "c_value_2"]}""")
println(a.b)
for (c in a.c) println(c)
}
在javascript debuger中,我可以看到,该对象“a”被反序列化。但我认为,它不是一个有效的类型A的kotlin对象。有什么办法,如何从对象“a”或从原始json字符串创建类型A的有效kotlin对象实例?
我在应用程序的服务器(jvm)部分使用相同的类。所以我不能使用外部接口。我使用了类A(val b:String,val c:Array),它也在工作。数组而不是列表很重要。 –
user3706629
对不起,但目前它是Kotlin JS的限制。您必须使用外部接口来复制服务器端DTO类。 –