Kotlin JSON разбор, где "Val $ T: String" - PullRequest
0 голосов
/ 05 сентября 2018

Я пытаюсь получить данные из

"petfinder": {
    "pet": {
        "name": {
                    "$t": "Belmont"
                }

с помощью

val currentAnimal = gson.fromJson(body, CurrentAnimal::class.java)

и

class CurrentAnimal(val petfinder: Animal)
class Animal(val pet: Pet)
class Pet(val name: Name)
class Name(val $t: String)

У меня проблема в том, что $ t не является распознанным именем параметра. Я пытался

"${'$'}t"

но это только вызывает больше ошибок. В API, который я использую, все их данные соединены с $ t, так что для меня это большая проблема. Я впервые использую Kotlin, поэтому любая помощь будет потрясающей. Спасибо.

1 Ответ

0 голосов
/ 05 сентября 2018

Вы не можете использовать $ в идентификаторах в Kotlin. Чтобы указать, что имя ключа в JSON отличается от имени свойства в Kotlin, используйте аннотацию @SerializedName:

class Name(@SerializedName("\$t") val t: String)
...