Отдельная сериализация ключа и значения в JSON (com.google.code.gson)
Есть вот такой JSON:
{"18797":{"city":"Moscow","street":"Tverskaya","home":"3"},...}
И вот такой класс:
import com.google.gson.annotations.Expose
import com.google.gson.annotations.SerializedName
class NewAddress
{
@????
val addr_id = 0
@SerializedName("city")
@Expose
val city: String = ""
@SerializedName("street")
@Expose
val street: String = ""
@SerializedName("home")
@Expose
val home: String = ""
}
Как я могу десериализовать ключ в общем JSON, чтобы он ложился в addr_id моего класса?
Ответы (1 шт):
Автор решения: zTrap
→ Ссылка
В данном случае ваш addr_id является полем, внутри другого объекта. Сам json составлен неправильно, и единственный способ распарсить его это - парсинг в Map<String, NewAddress>.
В вашем случае эта часть будет ключём
{"18797":{"city":"Moscow","street":"Tverskaya","home":"3"},...}
^^^^^^^
А эта значением
{"18797":{"city":"Moscow","street":"Tverskaya","home":"3"},...}
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^