簡體   English   中英

用Moshi和Retrofit解析動態字符串的object

[英]Parse object of dynamic string with Moshi and Retrofit

我有一個 JSON,如下所示。

{
    "code": "success",
    "response": {
        "data": {
            "xyz": "abc.pdf",
            "abc: "efgh.pdf"
        }
    },
    "message": "Files downloaded Successfully"
}

響應 object 中的內部數據,密鑰是動態的(xyz、abc 等)。 我在 retrofit 轉換器中使用 Moshi。 我的數據類如下。

data class RestResponse<T> (
    val code: String,
    val message: String,
    val response: T
)

data class ProposalDownloadResponse(val data: DownloadData)

data class DownloadData(val list: Map<String, String>)

但是我在解析后在列表中得到null 雖然我有數據

改造 function 如下所示。

@POST
suspend fun downloadProposal(
    @Url url: String,
    @Header("accessToken") key: String,
    @Body flightDetails: FlightDetails,
): GenericResponse<RestResponse<ProposalDownloadResponse>>

原因是您正在嵌套不需要的 Object。 您的data本身屬於Map<String, String>類型,因此不需要DownloadData 如下使用它。

data class ProposalDownloadResponse(val data: Map<String, String>)

暫無
暫無

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

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