Получить данные не из массива с помощью Retrofit2

У меня возникла проблема с получением данных. Я использую Retrofit в своем приложении. Когда я запрашиваю данные, то, чтобы получить их, мне приходит массив. А в данном случае, как я понял, я не могу получить данные, так как они не в массиве.

Данные

Вот так выглядит мой код сейчас

Intent intent = getIntent();
String login = intent.getStringExtra("login");

JsonAPI jsonAPI = ApiClient.getApiClient().create(JsonAPI.class);
Call<ArrayList<Model>> call = jsonAPI.getUsers(login);

        call.enqueue(new Callback<ArrayList<Model>>() {
            @Override
            public void onResponse(@NonNull Call<ArrayList<Model>> call, @NonNull Response<ArrayList<Model>> response) {
                if (response.isSuccessful()) {
                    JSONArray jsonarray = null;
                    try {
                        jsonarray = new JSONArray(new Gson().toJson(response.body()));
                    } catch (JSONException jsonException) {
                        jsonException.printStackTrace();
                    }
                    for (int i = 0; i < Objects.requireNonNull(jsonarray).length(); i++) {
                        JSONObject jsonObject = null;
                        try {
                            jsonObject = jsonarray.getJSONObject(i);
                        } catch (JSONException jsonException) {
                            jsonException.printStackTrace();
                        }
                        try {
                            assert jsonObject != null;

                            et_login.setText(jsonObject.getString("login"));
                            et_id.setText(jsonObject.getString("id"));

                        } catch (JSONException jsonException) {
                            jsonException.printStackTrace();
                        }
                    }
                }
            }

            @Override
            public void onFailure(@NonNull Call<ArrayList<Model>> call, @NonNull Throwable t) {

            }
        });

Как написать код так, чтобы можно было изъять нужные мне данные?


Ответы (1 шт):

Автор решения: Michael

Проблема в том, что я вызываю Callback массива, когда нужно вызывать непосредственно данные из Model.

Вот так выглядит обновленный код

 Intent intent = getIntent();
        String login = intent.getStringExtra("login");

        JsonAPI jsonAPI = ApiClient.getApiClient().create(JsonAPI.class);
        Call<Model> call = jsonAPI.getUsers(login);

        call.enqueue(new Callback<Model>() {
            @Override
            public void onResponse(@NonNull Call<Model> call, @NonNull Response<Model> response) {

                et_login.setText(Objects.requireNonNull(response.body()).getLogin());
                et_id.setText(Objects.requireNonNull(response.body()).getId());

            }

            @Override
            public void onFailure(@NonNull Call<Model> call, @NonNull Throwable t) {

            }
        });

Спасибо за подсказку Wlad

→ Ссылка