我在使用 Gson 进行 json 序列化时遇到了问题。
返回结果如下:
{"STATUS":200,
"ORG_NAME":"FF Superflott",
"VORNAME":"Christian",
"NACHNAME":"Tschimmi",
"PERSONEN":[{"personenID":2,
"dienstgrad":"General",
"vorname":"Max",
"nachname":"Mustermann",
"handynummer":"0680\/216 34 21"},
{"personenID":2732,
"dienstgrad":"",
"vorname":"Vorname35",
"nachname":"Name 1",
"handynummer":"0664 4677567"}],
"GRUPPEN":{"1":"Feuer",
"2":"SA1",
"3":"SA2",
...
"28":"",
"29":"",
"30":""}}
我的模型看起来像这样:
data class TestModel (
@SerializedName("STATUS") val STATUS: Int,
@SerializedName("ORG_NAME") val ORG_NAME : String,
@SerializedName("VORNAME") val VORNAME : String,
@SerializedName("NACHNAME") val NACHNAME : String,
@SerializedName("PERSONEN") val PERSONEN : ArrayList<PERSONEN> = arrayListOf(),
@SerializedName("GRUPPEN") val GRUPPEN : ArrayList<GRUPPEN> = arrayListOf(),
)
data class PERSONEN (
@SerializedName("personenID" ) var personenID : Int? = null,
@SerializedName("dienstgrad" ) var dienstgrad : String? = null,
@SerializedName("vorname" ) var vorname : String? = null,
@SerializedName("nachname" ) var nachname : String? = null,
@SerializedName("handynummer" ) var handynummer : String? = null
)
data class GRUPPEN (
@SerializedName("1" ) var 1 : String? = null,
@SerializedName("2" ) var 2 : String? = null,
...
@SerializedName("29" ) var 29 : String? = null,
@SerializedName("30" ) var 30 : String? = null
)
我收到有关冲突声明的错误。 问题的关键应该在“GRUPPEN”部分。 这个键是 String 但被识别为 Int。
错误消息:
Conflicting declarations: public final var
: String?, public final var
: String?
有人知道如何解决这个问题吗?
变量不能以数字开头。您需要为其指定一个除“1”之外的名称。