首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >JSON响应中的Android Kotlin长对象

JSON响应中的Android Kotlin长对象
EN

Stack Overflow用户
提问于 2021-07-23 02:00:13
回答 1查看 36关注 0票数 0

我想知道处理这一堆JSON对象(rates)响应的最简单和最好的方法是什么?以下是此响应的一部分:

正如你所看到的,这个rates对象在屏幕高度后面拖了很长一段时间。

我的第一个想法是简单地创建这样两个模型:

代码语言:javascript
运行
复制
data class ApiResponse(
    @SerializedName("base") val base: String,
    @SerializedName("date") val date: String,
    @SerializedName("rates") val rates: Currency
)

代码语言:javascript
运行
复制
data class Currency (
    @SerializedName("AED") val AED: Float,
    @SerializedName("AFN") val AFN: Float,
    @SerializedName("ALL") val ALL: Float,
    @SerializedName("AMD") val AMD: Float,
    @SerializedName("ANG") val ANG: Float,
    @SerializedName("AOA") val AOA: Float,
    @SerializedName("ARS") val ARS: Float,
    @SerializedName("AUD") val AUD: Float,
    @SerializedName("AWG") val AWG: Float,
    @SerializedName("AZN") val AZN: Float,
    @SerializedName("BAM") val BAM: Float,
    @SerializedName("BBD") val BBD: Float,
    @SerializedName("BDT") val BDT: Float,
    @SerializedName("BGN") val BGN: Float,
    @SerializedName("BHD") val BHD: Float,
    @SerializedName("BIF") val BIF: Float,
    @SerializedName("BMD") val BMD: Float,
    @SerializedName("BND") val BND: Float,
    @SerializedName("BOB") val BOB: Float,
    @SerializedName("BRL") val BRL: Float,
    @SerializedName("BSD") val BSD: Float,
    @SerializedName("BTC") val BTC: Float,
    @SerializedName("BTN") val BTN: Float,
    @SerializedName("BWP") val BWP: Float,
    @SerializedName("BYR") val BYR: Float,
    @SerializedName("BYN") val BYN: Float,
    @SerializedName("BZD") val BZD: Float,
    @SerializedName("CAD") val CAD: Float,
    @SerializedName("CDF") val CDF: Float,
    @SerializedName("CHF") val CHF: Float,
    @SerializedName("CLF") val CLF: Float,
    @SerializedName("CLP") val CLP: Float,
    @SerializedName("CNY") val CNY: Float,
    @SerializedName("COP") val COP: Float,
    @SerializedName("CRC") val CRC: Float,
    @SerializedName("CUC") val CUC: Float,
    @SerializedName("CUP") val CUP: Float,
    @SerializedName("CVE") val CVE: Float,
    @SerializedName("CZK") val CZK: Float,
    @SerializedName("DJF") val DJF: Float,
    @SerializedName("DKK") val DKK: Float,
    @SerializedName("DOP") val DOP: Float,
    @SerializedName("DZD") val DZD: Float,
    @SerializedName("EGP") val EGP: Float,
    @SerializedName("ERN") val ERN: Float,
    @SerializedName("ETB") val ETB: Float,
    @SerializedName("EUR") val EUR: Float,
    @SerializedName("FJD") val FJD: Float,
    @SerializedName("FKP") val FKP: Float,
    @SerializedName("GBP") val GBP: Float,
    @SerializedName("GEL") val GEL: Float,
    @SerializedName("GGP") val GGP: Float,
    @SerializedName("GHS") val GHS: Float,
    @SerializedName("GIP") val GIP: Float,
    @SerializedName("GMD") val GMD: Float,
    @SerializedName("GNF") val GNF: Float,
    @SerializedName("GTQ") val GTQ: Float,
    @SerializedName("GYD") val GYD: Float,
    @SerializedName("HKD") val HKD: Float,
    @SerializedName("HNL") val HNL: Float,
    @SerializedName("HRK") val HRK: Float,
    @SerializedName("HTG") val HTG: Float,
    @SerializedName("HUF") val HUF: Float,
    @SerializedName("IDR") val IDR: Float,
    @SerializedName("ILS") val ILS: Float,
    @SerializedName("IMP") val IMP: Float,
    @SerializedName("INR") val INR: Float,
    @SerializedName("IQD") val IQD: Float,
    @SerializedName("IRR") val IRR: Float,
    @SerializedName("ISK") val ISK: Float,
    @SerializedName("JEP") val JEP: Float,
    @SerializedName("JMD") val JMD: Float,
    @SerializedName("JOD") val JOD: Float,
    @SerializedName("JPY") val JPY: Float,
    @SerializedName("KES") val KES: Float,
    @SerializedName("KGS") val KGS: Float,
    @SerializedName("KHR") val KHR: Float,
    @SerializedName("KMF") val KMF: Float,
    @SerializedName("KPW") val KPW: Float,
    @SerializedName("KRW") val KRW: Float,
    @SerializedName("KWD") val KWD: Float,
    @SerializedName("KYD") val KYD: Float,
    @SerializedName("KZT") val KZT: Float,
    @SerializedName("LAK") val LAK: Float,
    @SerializedName("LBP") val LBP: Float,
    @SerializedName("LKR") val LKR: Float,
    @SerializedName("LRD") val LRD: Float,
    @SerializedName("LSL") val LSL: Float,
    @SerializedName("LTL") val LTL: Float,
    @SerializedName("LVL") val LVL: Float,
    @SerializedName("LYD") val LYD: Float,
    @SerializedName("MAD") val MAD: Float,
    @SerializedName("MDL") val MDL: Float,
    @SerializedName("MGA") val MGA: Float,
    @SerializedName("MKD") val MKD: Float,
    @SerializedName("MMK") val MMK: Float,
    @SerializedName("MNT") val MNT: Float,
    @SerializedName("MOP") val MOP: Float,
    @SerializedName("MRO") val MRO: Float,
    @SerializedName("MUR") val MUR: Float,
    @SerializedName("MVR") val MVR: Float,
    @SerializedName("MWK") val MWK: Float,
    @SerializedName("MXN") val MXN: Float,
    @SerializedName("MYR") val MYR: Float,
    @SerializedName("MZN") val MZN: Float,
    @SerializedName("NAD") val NAD: Float,
    @SerializedName("NGN") val NGN: Float,
    @SerializedName("NIO") val NIO: Float,
    @SerializedName("NOK") val NOK: Float,
    @SerializedName("NPR") val NPR: Float,
    @SerializedName("NZD") val NZD: Float,
    @SerializedName("OMR") val OMR: Float,
    @SerializedName("PAB") val PAB: Float,
    @SerializedName("PEN") val PEN: Float,
    @SerializedName("PGK") val PGK: Float,
    @SerializedName("PHP") val PHP: Float,
    @SerializedName("PKR") val PKR: Float,
    @SerializedName("PLN") val PLN: Float,
    @SerializedName("PYG") val PYG: Float,
    @SerializedName("QAR") val QAR: Float,
    @SerializedName("RON") val RON: Float,
    @SerializedName("RSD") val RSD: Float,
    @SerializedName("RUB") val RUB: Float,
    @SerializedName("RWF") val RWF: Float,
    @SerializedName("SAR") val SAR: Float,
    @SerializedName("SBD") val SBD: Float,
    @SerializedName("SCR") val SCR: Float,
    @SerializedName("SDG") val SDG: Float,
    @SerializedName("SEK") val SEK: Float,
    @SerializedName("SGD") val SGD: Float,
    @SerializedName("SHP") val SHP: Float,
    @SerializedName("SLL") val SLL: Float,
    @SerializedName("SOS") val SOS: Float,
    @SerializedName("SRD") val SRD: Float,
    @SerializedName("STD") val STD: Float,
    @SerializedName("SVC") val SVC: Float,
    @SerializedName("SYP") val SYP: Float,
    @SerializedName("SZL") val SZL: Float,
    @SerializedName("THB") val THB: Float,
    @SerializedName("TJS") val TJS: Float,
    @SerializedName("TMT") val TMT: Float,
    @SerializedName("TND") val TND: Float,
    @SerializedName("TOP") val TOP: Float,
    @SerializedName("TRY") val TRY: Float,
    @SerializedName("TTD") val TTD: Float,
    @SerializedName("TWD") val TWD: Float,
    @SerializedName("TZS") val TZS: Float,
    @SerializedName("UAH") val UAH: Float,
    @SerializedName("UGX") val UGX: Float,
    @SerializedName("USD") val USD: Float,
    @SerializedName("UYU") val UYU: Float,
    @SerializedName("UZS") val UZS: Float,
    @SerializedName("VEF") val VEF: Float,
    @SerializedName("VND") val VND: Float,
    @SerializedName("VUV") val VUV: Float,
    @SerializedName("WST") val WST: Float,
    @SerializedName("XAF") val XAF: Float,
    @SerializedName("XAG") val XAG: Float,
    @SerializedName("XAU") val XAU: Float,
    @SerializedName("XCD") val XCD: Float,
    @SerializedName("XDR") val XDR: Float,
    @SerializedName("XOF") val XOF: Float,
    @SerializedName("XPF") val XPF: Float,
    @SerializedName("YER") val YER: Float,
    @SerializedName("ZAR") val ZAR: Float,
    @SerializedName("ZMK") val ZMK: Float,
    @SerializedName("ZMW") val ZMW: Float,
    @SerializedName("ZWL") val ZWL: Float
)

告诉我做这件事最好的方法是什么?

EN

回答 1

Stack Overflow用户

发布于 2021-07-23 10:10:35

您可以使用google的gson库来传输数据:https://github.com/google/gson

代码语言:javascript
运行
复制
dependencies {
    implementation 'com.google.code.gson:gson:2.8.7'
}

将数据传输到ApiResponse类

代码语言:javascript
运行
复制
fun getApiResponse(jsonStr:String):ApiResponse{
    val gson = Gson()
    val comment: ApiResponse = gson.fromJson(jsonStr, ApiResponse::class.java)
    return comment
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68489556

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档