忽略 Gson 反序列化中的一些嵌套项
Ignore some nested items in Gson Deserializing
我想反序列化从 API 调用中获得的 NASA 小行星 json 格式,如下所示:
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)
}
如何在我的 Asteroid 数据 class 中忽略前几项 links
和 page
并仅反序列化 near_earth_objects
?我如何访问 near_earth_objects
中的嵌套项?
你可以忽略它们。
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)
您将获得所有对象名称和 ID 的列表。
我想反序列化从 API 调用中获得的 NASA 小行星 json 格式,如下所示:
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)
}
如何在我的 Asteroid 数据 class 中忽略前几项 links
和 page
并仅反序列化 near_earth_objects
?我如何访问 near_earth_objects
中的嵌套项?
你可以忽略它们。
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)
您将获得所有对象名称和 ID 的列表。