У меня есть json Я получаю из API, который выглядит следующим образом:
{"success":true,"message":"","result":{"Bid":6886.97100000,"Ask":6891.58500000,"Last":6891.58500000}}
Все, что я хочу, это просто сохранить значения Bid и Ask в полях класса.
Сначала я анализирую целое json следующим образом:
val response = sendRequest(url))
val gson = Gson()
val ticker : MarketTickerEntity = gson.fromJson(response, MarketTickerEntity::class.java)
А затем я пытаюсь проанализировать его внутри моего блока инициализации класса и переназначить поля bid и ask.
Мой класс:
class MarketTickerEntity(@SerializedName("result")val result: JsonObject? = null) : TickerEntity {
override val fee: Double = 0.0001
override var bid: Double = 0.0
override var ask: Double = 0.0
data class ResultData (
val Bid: Double,
val Ask: Double,
val Last: Double
)
init {
if(result != null) {
val gson = Gson()
val res: ResultData = gson.fromJson(result, ResultData::class.java)
bid = res.Bid
ask = res.Ask
}
}
}
Но, к сожалению, результат всегда равен нулю.
Я пытался изменить JsonObject? нанизывать? в типе результата, а затем я получаю ошибку:
Expected a string but was BEGIN_OBJECT at line 1 column 40 path $.result