【问题标题】:Ignore some nested items in Gson Deserializing忽略 Gson 反序列化中的一些嵌套项
【发布时间】:2020-03-24 19:51:23
【问题描述】:

我想反序列化从 json 格式的 API 调用中获得的 NASA 小行星,如下所示:

 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 数据类中忽略第一个顶级项目 linkspage 并仅反序列化 near_earth_objects?以及如何访问near_earth_objects 中的嵌套项?

【问题讨论】:

    标签: json kotlin gson deserialization fuel


    【解决方案1】:

    你可以忽略它们。

    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 的列表。

    【讨论】:

    • 您能否详细说明 WhatYouNeedToGet 类的外观?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-23
    • 1970-01-01
    • 1970-01-01
    • 2016-01-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多