Игнорировать некоторые вложенные элементы в десериализации Gson - PullRequest
1 голос
/ 24 марта 2020

Я хочу десериализовать астероиды НАСА, полученные от вызова API, в формате json, например, так: enter image description here

 data class Asteroid(
    val id: Int,
    val name: String = "",
    val meanDiameter: Int,
)

 class Deserializer : ResponseDeserializable<Asteroid> {
            override fun deserialize(content: String) = Gson().fromJson(content, Asteroid::class.java)
 }

Как можно игнорировать первые главные элементы links и page и только десериализовать near_earth_objects в моем классе данных Asteroid? И как я могу получить доступ к вложенным элементам внутри near_earth_objects?

1 Ответ

1 голос
/ 24 марта 2020

Вы можете просто игнорировать их.

data class NearEarthObjects(@SerializedName("near_earth_objects") val nearEarthObjects: List<Objects>)
data class Objects(val id: String, val name: String)

Если вы затем получите json, вы можете просто сделать это:

Gson().fromJson(yourJson, NearEarthObjects::class.java)

И вы получите список всех имя и идентификатор объекта.

...