Разбор JSON с паролем забавного <T> Kotlin JS (текст: String): T`?
Как я могу использовать
fun <T> parse(text: String): T
разобрать JSON в Kotlin JS?
Например, как я могу разобрать эту строку JSON?
{
"couchdb": "Welcome",
"version": "2.0.0",
"vendor": {
"name": "The Apache Software Foundation"
}
}
1 ответ
Решение
Это зависит от того, что вы хотите сделать с проанализированным 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)
В конце концов, это всегда будет один и тот же объект JS, возвращаемый методом javascript JSON.parse(), Kotlin просто вводит здесь типы.