簡體   English   中英

Moshi 和 retrofit2:解析根元素的內容

[英]Moshi and retrofit2: parse content of root element

從今天開始,我收到了 json 響應,例如:

{
   "status" : "Ok",
   "otherField" : "Somevalues" 
}

我映射到類中

data class MyResponse(
    val status : String,
    val otherField : String
)

現在響應結構發生了類似的變化

{
   "rootElement" : {
       "status" : "Ok",
       "otherField" : "Somevalues" 
    }
}

有沒有辦法告訴 Moshi 在不更改“MyResponse”結構的情況下直接解析“rootElement”的內容?

有沒有辦法告訴 Moshi 在不更改“MyResponse”結構的情況下直接解析“rootElement”的內容?

如果我正確理解了您的要求,是的,您可以在不更改MyResponse數據類的情況下解析rootElement的內容。 像下面這樣再創建一個 Kotlin 數據類

data class ResponseRoot (
    val rootElement : MyResponse
)

並將此ResponseRoot數據類返回類型用於 Retrofit Response 而不是MyResponse類。

在您的 API 界面中,只需進行更改

@GET("url/here/")
fun fooBar(/* paramters if there any */): Call<ResponseRoot>

暫無
暫無

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

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