Kavrese
@Kavrese
Начинающий Android Developer и Python Developer

Как спарсить JSON состоящий только из объектов, а не списка?

Надо спарсить такой JSON. Мой вариант с обычным map'ом возвращает null, а создавать отдельные переменные на каждый объект (как предлагает мне авто-парсер) я не хочу.
Мой вариант:
data class ModelList(
    val map: Map<String, String>
)

Вызов через Retrofit :
retrofit = Retrofit.Builder()
            .baseUrl("https://openexchangerates.org/")
            .addConverterFactory(GsonConverterFactory.create())
            .build()

retrofit!!.create(Api::class.java).currencies().enqueue(object : Callback<ModelList>{
            override fun onResponse(call: Call<ModelList>, response: Response<ModelList>) {
                if (response.body() != null){
//                    rec_list.apply {
//                        layoutManager = LinearLayoutManager(this@MainActivity)
//                    }
                }else{
                    showAlert("Error Get: "+ response.code(), response.message(), this@MainActivity)
                }
            }

            override fun onFailure(call: Call<ModelList>, t: Throwable) {
                showAlert("Error Get: Fail", t.message.toString(), this@MainActivity)
            }
        })

Интерфейс:
interface Api {
    @GET("currencies.json")
    fun currencies(): Call<ModelList>
}

Результат:
60448c3f1dc51827711819.png
Предложение авто-парсера:
data class Test(
    var AED: String,
    var AFN: String,
    var ALL: String,
    var AMD: String,
    var ANG: String,
    var AOA: String,
    var ARS: String,
    var AUD: String,
    var AWG: String,
    var AZN: String,
    var BAM: String,
    var BBD: String,
    var BDT: String,
    var BGN: String,
    var BHD: String,
    var BIF: String,
    var BMD: String,
    var BND: String,
    var BOB: String,
    var BRL: String,
    var BSD: String,
    var BTC: String,
    var BTN: String,
    var BWP: String,
    var BYN: String,
    var BZD: String,
    var CAD: String
    .......
  • Вопрос задан
  • 101 просмотр
Пригласить эксперта
Ответы на вопрос 1
Jacen11
@Jacen11
GsonConverterFactory не подходит, он хочет модель, с мапой свой нужен. я искал подобное, не находил
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы