Я получаю json вот так
{
"animal" : {
"type" : "FIRE",
"food" : "potato",
"water": "7up"
}
}
---
{
"animal" : {
"type" : "WATER",
"water": "7up"
}
}
---
{
"animal" : {
"type" : "CYPO",
"counter": 7
}
}
---
{
"animal" : {
"type" : "UNKNOWN",
"food": "Stup",
"water": "Cola",
"counter" : 4
}
}
Я должен создать 4 класса данных? Я имею в виду, я знаю, как они будут выглядеть, они не будут меняться, но зависит от того, будет тип иметь какие-то параметры или нет, поэтому мне нужно создать 4 класса данных, например, FIRE один
data class AnimalFireResponse{
@SerializedName("type") val myEnum: MyEnum, @SerializedName("food") val food : String, @SerializedName("water") val water : String)
}
Но тогда я не знаю, что поставить на мой сервис
@GET("/dynamic/stuff.php")
fun getAnimal(): Call<List<MyResponseWithDynamicAnimal>>
Есть ли какой-нибудь другой способ, как generi c?
Редактировать
Возможно, это помогает, но я знаю все значения type
(FIRE, WAITER, CYPO, UNKNOWN) и знаю, что все они будут возвращать одинаковые значения, для Например, FIRE будет возвращать всегда food
и water
, это вам поможет, ребята?