我正在尝试从api检索数据。JSON响应如下所示
{
"result":"success",
"documentation":"https://www.exchangerate-api.com/docs",
"terms_of_use":"https://www.exchangerate-api.com/terms"
"supported_codes":[
["AED","UAE Dirham"],
["AFN","Afghan Afghani"],
["ALL","Albanian Lek"],
["AMD","Armenian Dram"],
["ANG","Netherlands Antillian Guilder"],
["AOA","Angolan Kwanza"],
["ARS","Argentine Peso"],
["AUD","Australian Dollar"],
["AWG","Aruban Florin"],
["AZN","Azerbaijani Manat"],
["BAM","Bosnia and Herzegovina Convertible Mark"],
["BBD","Barbados Dollar"] etc. etc.
]
}
这是我为它设置的数据类
CurrencyResponse.kt
package com.example.currencyconverter.data
import com.squareup.moshi.Json
data class CurrencyResponse(
@Json(name="supported_codes") var supported_codes: List<Codes>
) {
data class Codes(
@Json(name="0") var currency_code: String
) {
}
}
然而我仍然得到标题中提到的错误。非常感谢您的帮助
如果可能的话,我认为API响应方案需要稍微修改一下。我认为supported_codes
应该包含对象列表,即
"supported_codes":[
{
"currency_code": "AED",
"currency_name": "UAE Dirham"
},
{
"currency_code": "AFN",
"currency_name": "Afghan Afghani"
},
... etc ...
]
然后,在kotlin代码中,您需要将Codes
数据类修改为:
data class Codes(
@Json(name="currency_code") val currencyCode: String,
@Json(name="currency_name") val currencyName: String,
)