JSON возвращает нечитаемые данные;как мне получить нужные предметы?(Котлин, Android Studio) - PullRequest
0 голосов
/ 14 декабря 2018

У меня есть JSON, который выглядит следующим образом:

[{"name":"John","age":30,"vehicle":"bicycle"},
{"name":"Bob","age":32,"vehicle":"walking"}]

interface

@GET("lnjb8")
fun findPosts(): Call<List<RetrofitVariables>>

Переменные для десериализации:

class RetrofitVariables(name: String, age: String, vehicle: String) {}

Ив MainActivity():

val myRetrofit = Retrofit.Builder()
            .baseUrl("https://api.myjson.com/bins/")
            .addConverterFactory(GsonConverterFactory.create())
            .build()

    val repository = myRetrofit.create(RetrofitCalls::class.java)

    val call = repository.findPosts()

... с последующим асинхронным вызовом:

call.enqueue(object: Callback<List<RetrofitVariables>> {
    override fun onResponse(call: Call<List<RetrofitVariables>>?, response: Response<List<RetrofitVariables>>?) {

        val jsonVariables = response!!.body()

        //THIS SHOULD PRODUCE THE PROPER DATA
        jsonVariables!!.forEach { println("TAG testing" + it) }
    }

    override fun onFailure(call: Call<List<RetrofitVariables>>?, t: Throwable?) {
            println("TAG FAIL")
        }
    })

jsonVariables!!.forEach { println("TAG testing" + it) } должен дать мне данные, но вместо этого он просто дает testingcom.slothmode.retrofitexercise.RetrofitVariables@83098f7Очевидно, что он собирает данные, так как получает ответ, но я, должно быть, упустил, как правильно их отобразить.В предыдущих проектах я использовал value, как в x.value.toString (), но я не вижу, как это применимо здесь.

Как отобразить правильные данные?

1 Ответ

0 голосов
/ 14 декабря 2018

Это показано так, потому что вы не реализовали метод toString().Вы можете либо реализовать toString() в RetrofitVariables классе, либо объявить RetrofitVariables как data class и реализовать его компилятором.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...