Джсон не появляется - PullRequest
1 голос
/ 29 мая 2019

Я пытаюсь поймать значение из json. У меня нет массивов (имя).Так что мне нужны прямо данные.Я получаю предупреждение о "getJSONObject (0)", это говорит "String.valueOf ()", поэтому я применил к этому.

Моя ссылка JSON доступна здесь

{
  "-LZEGO2dtHMm7zNP05Jd" : {
    "NewZaman" : "20.02.2019 / 22:45",
    "Oynayanlar" : "Derby - Millwall",
    "Tahmin" : "UNDER 2.5",
    "Tahmin2" : "ALT 1.5",
    "id" : "85",
    "mackelesonucu" : 44,
    "sonuckelesen" : "Win",
    "sonuckelestr" : "Kazandı",
    "sortingId" : -85
  },
  "-LZEJ_ohgg3eLr1Jdv38" : {
    "NewZaman" : "20.02.2019 / 13:15",
    "Oynayanlar" : "Dunav Ruse - FC Vereya",
    "Tahmin" : "1",
    "Tahmin2" : "1",
    "id" : "86",
    "mackelesonucu" : 44,
    "sonuckelesen" : "Win",
    "sonuckelestr" : "Kazandı",
    "sortingId" : -86
   }
}

CODE

Код для разбора

    private void parseJSON() {
        String url ="http://xjamal.epizy.com/tahminall-dene.json";

        JsonObjectRequest request = new JsonObjectRequest(Request.Method.GET, url, null,
                new Response.Listener<JSONObject>() {
                    @Override
                    public void onResponse(JSONObject response) {
                        try {
                            //JSONArray jsonArray = response.getJSONArray("hits");
                            JSONObject jsonArray = response.getJSONObject(String.valueOf(0));

                            for (int i = 0; i < jsonArray.length(); i++) {
                                JSONObject hit = jsonArray.getJSONObject(String.valueOf(i));


                                String creatorName = hit.getString("sonuckelesen");
                                String likeCount = hit.getString("mackelesonucu");

                                mExampleList.add(new arsivlist(creatorName, likeCount));
                            }

                            mExampleAdapter = new ArsivAdapter(Arsivgoster.this, mExampleList);
                            mRecyclerView.setAdapter(mExampleAdapter);

                        } catch (JSONException e) {
                            e.printStackTrace();
                        }
                    }
                }, new Response.ErrorListener() {
            @Override
            public void onErrorResponse(VolleyError error) {
                error.printStackTrace();
            }
        });

        mRequestQueue.add(request);
    }
}

Теперь json не появляется.Страница отображается пустой.

ОБНОВЛЕНИЕ для aswer Кулана. Не работает.

    private void parseJSON() {
        String url ="http://xjamal.epizy.com/tahminall-dene.json";

        JsonObjectRequest request = new JsonObjectRequest(Request.Method.GET, url, null,
                new Response.Listener<JSONObject>() {
                    @Override
                    public void onResponse(JSONObject response) {
                        try {
                            Iterator<String> keys = response.keys();

                            while(keys.hasNext()) {
                                String key = keys.next();
                                if (response.get(key) instanceof JSONObject) {
                                    JSONObject innerObject = response.getJSONObject(key);
                                    String creatorName = innerObject.getString("sonuckelesen");
                                    String likeCount = innerObject.getString("mackelesonucu");

                                    mExampleList.add(new arsivlist(creatorName, likeCount));

                                }
                            }
                            mExampleAdapter = new ArsivAdapter(Arsivgoster.this, mExampleList);
                            mRecyclerView.setAdapter(mExampleAdapter);
                        } catch (JSONException e) {
                            e.printStackTrace();
                        }
                    }
                }, new Response.ErrorListener() {
            @Override
            public void onErrorResponse(VolleyError error) {
                error.printStackTrace();
            }
        });

        mRequestQueue.add(request);
    }
}

1 Ответ

1 голос
/ 29 мая 2019

попробуйте проанализировать ваш ответ json объект, как это

Iterator<String> keys = response.keys();

        while(keys.hasNext()) {
            String key = keys.next();
            if (response.get(key) instanceof JSONObject) {
                JSONObject innerObject = response.getJSONObject(key);
                String creatorName = innerObject.getString("sonuckelesen");
                String likeCount = innerObject.getString("mackelesonucu");

                mExampleList.add(new arsivlist(creatorName, likeCount));

            }
        }
        mExampleAdapter = new ArsivAdapter(Arsivgoster.this, mExampleList);
        mRecyclerView.setAdapter(mExampleAdapter);

замените этот код на ваш код в блоке try

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