Я пытаюсь поймать значение из 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);
}
}