3

我该如何使用

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

在 Kotlin JS 中解析 JSON?

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

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

1 回答 1

4

这取决于您想对解析的 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 只是在这里引入了类型。

于 2017-06-29T07:39:12.337 回答