Kotlin json解析,其中;val$t:String";
我正在尝试从中检索数据Kotlin json解析,其中;val$t:String";,json,parsing,kotlin,gson,Json,Parsing,Kotlin,Gson,我正在尝试从中检索数据 "petfinder": { "pet": { "name": { "$t": "Belmont" } 使用 及 我遇到的问题是“$t”不是一个可识别的参数名。 我试过了 但这只会导致更多的错误。我使用的API将所有数据与$t配对,因此这对我来说是一个巨大的拦截器。这是我第一次使用Kotlin,所以任何帮助都会很棒。谢谢。您不能在Kotlin的标识符中使用$。要指定JSON中
"petfinder": {
"pet": {
"name": {
"$t": "Belmont"
}
使用
及
我遇到的问题是“$t”不是一个可识别的参数名。
我试过了
但这只会导致更多的错误。我使用的API将所有数据与$t配对,因此这对我来说是一个巨大的拦截器。这是我第一次使用Kotlin,所以任何帮助都会很棒。谢谢。您不能在Kotlin的标识符中使用
$
。要指定JSON中键的名称不同于Kotlin中的属性名称,请使用@SerializedName
注释:
class Name(@SerializedName("\$t") val t: String)
backticks和@SerializedName都可以工作。谢谢你们两位的帮助!原因是字符串模板中使用了
$
。它需要被转义才能作为字符串文字工作。虽然我觉得反勾号不适合使用,但至少知道它也可以工作是件好事。如果使用反勾号,那么每次引用名称时都必须使用它们,并且在类声明中只需应用一次@SerializedName
解决方案。
class CurrentAnimal(val petfinder: Animal)
class Animal(val pet: Pet)
class Pet(val name: Name)
class Name(val $t: String)
"${'$'}t"
class Name(@SerializedName("\$t") val t: String)