You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Kotlin+Retrofit获取嵌套JSON对象中的数据

解决Retrofit获取嵌套JSON对象字段的问题

我需要通过Retrofit的GET请求获取嵌套在JSON对象中的数据,之前找到的大多是Java相关方案,目标是提取request{}内的from、to和amount字段。

初始代码

Retrofit GET请求方法

@GET("convert")
fun getCurrencyConverter(
    @Query("from") from: String,
    @Query("to") to: String,
    @Query("amount") amount: String
): Call<ConvertModel>

初始数据模型ConvertModel

data class ConvertModel (
    @SerializedName("from")
    val from: String,
    @SerializedName("to")
    val to: String,
    @SerializedName("amount")
    val amountToConvert: Double,
    @SerializedName("result")
    val convertedAmount: Double
)

解决方案

发现接口返回的JSON中"request"是一个独立嵌套对象,因此需要创建对应的数据类映射该结构,再将其嵌套到主响应模型中。

嵌套对象数据模型RequestModel

data class RequestModel(
    @SerializedName("from")
    val from: String,
    @SerializedName("to")
    val to: String,
    @SerializedName("amount")
    val amount: Double
)

修改后主响应模型ConvertModelReserve

data class ConvertModelReserve (
    @SerializedName("request")
    val request: RequestModel,
    @SerializedName("result")
    val result: Double
)

修改后的Retrofit GET请求方法

@GET("convert")
fun getCurrencyConverter(
    @Query("from") from: String,
    @Query("to") to: String,
    @Query("amount") amount: String
): Call<ConvertModelReserve>

内容的提问来源于stack exchange,提问作者Antony Lajes

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 13:15:21