用Kotlin JS解析JSON&#39; fun <t>解析(text:String):T`?

时间:2017-06-29 06:08:23

标签: kotlin kotlin-interop kotlin-js-interop

我该如何使用

fun <T> parse(text: String): T

在Kotlin JS中解析JSON?

e.g。我该如何解析这个JSON字符串?

{
"couchdb": "Welcome",
"version": "2.0.0",
"vendor": {
    "name": "The Apache Software Foundation"
}
}

1 个答案:

答案 0 :(得分:3)

这取决于你想用解析的JSON做什么。最简单的方法是

val jsonAny = JSON.parse<Any>(text);

或者您可以将其解析为Json,这将允许您访问属性:

val json = JSON.parse<Json>(text);
println(json["version"]);

或者 - 如果你想使用kotlin的严格类型 - 你可能想要定义一个代表结构的类并使用它的属性:

data class CouchDB(val version:String)

val jsonCouchDb = JSON.parse<CouchDB>(text);
println(jsonCouchDb.version)

毕竟,它总是与javascript JSON.parse()方法返回的JS对象相同,Kotlin只是在这里介绍类型。