Kotlin json解析,其中“ val $ t:String”

时间:2018-09-05 13:49:37

标签: json parsing kotlin gson

我正在尝试从

检索数据
"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 :(得分:4)

您不能在Kotlin的标识符中使用$。要指定JSON中的键名与Kotlin中的属性名不同,请使用@SerializedName批注:

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