使用 Kotlin JS 解析 JSON 'fun <T> parse(text: String): T`?

Parsing JSON with Kotlin JS 'fun <T> parse(text: String): T`?

如何使用

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

要在 Kotlin JS 中解析 JSON?

例如我如何解析这个 JSON 字符串?

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

这取决于您要对已解析的 JSON 做什么。最简单的方法是

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

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

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

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

data class CouchDB(val version:String)

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

毕竟javascriptJSON.parse()方法返回的永远是同一个JS对象,Kotlin只是在这里引入了类型