簡體   English   中英

動態數據class變量:Kotlin、Android

[英]Dynamic data class variables : Kotlin , Android

這是我的 JSON API 回復。

{
    "element_count": 25,
    "near_earth_objects": {
        "2015-09-08": [{
                "id": "2465633",
                "neo_reference_id": "2465633",
                "name": "465633 (2009 JR5)",
                "nasa_jpl_url": "http://ssd.jpl.nasa.gov/sbdb.cgi?sstr=2465633",
                "absolute_magnitude_h": 20.36,
                "estimated_diameter": {
                    ...
                },
                "is_potentially_hazardous_asteroid": true,
                "close_approach_data": [{
                    "close_approach_date": "2015-09-08",
                    "close_approach_date_full": "2015-Sep-08 20:28",
                    "epoch_date_close_approach": 1441744080000,
                    "relative_velocity": {
                        ...
                    },
                    "miss_distance": {
                    ...
                    },
                    "orbiting_body": "Earth"
                }],
                "is_sentry_object": false
            },  
        ],
        "2015-09-07": [{
                "id": "2440012",
                "neo_reference_id": "2440012",
                "name": "440012 (2002 LE27)",
                "nasa_jpl_url": "http://ssd.jpl.nasa.gov/sbdb.cgi?sstr=2440012",
                "absolute_magnitude_h": 19.3,
                "estimated_diameter": {
                    
                },
                "is_potentially_hazardous_asteroid": false,
                "close_approach_data": [{
                    
                    },
                    "miss_distance": {
                        
                    },
                    "orbiting_body": "Earth"
                }],
                "is_sentry_object": false
            },
            
        ]
    }
}

變量“near_earth_object”中有一個 object。 該日期應該是用戶輸入的。

由於它是動態的,我如何創建 object 的數據 class? 我可以將 object 'near_earch_object' 創建為列表,但包含日期內具有這些變量的對象。

但是我如何獲得日期呢?

基本上,有人可以解釋如何創建這個 JSON 的數據 class。

由於您事先不知道日期,因此無法為它們創建屬性,您必須在此處使用 map。

data class ApiResponse(
    @SerializedName("element_count")
    val elementCount: Int,
    @SerializedName("near_earth_objects")
    val nearEarthObjects: Map<String, List<NearEarthObject>>
)

data class NearEarthObject(
    val id: String,
    val name: String,
    ...
)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM