2016-12-20 5 views
1

У меня есть следующий JSON, и я бы хотел разобрать все «vcsapat» и «hcsapat» и все данные из первых строк.Parse Json из массива Json в Android

Json здесь: Link

Я попытался с помощью следующего кода, но я только есть исключения

JSONArray JSonAdatok = null; 
JSonAdatok = jObject.getJSONArray("vcsapat"); 

for (int i = 0; i < JSonAdatok.length(); i++) { 
    JSONObject jo = null; 
    try { 
     jo = JSonAdatok.getJSONObject(i); 
     System.out.print("\n"+jo); 
     JSONObject kezdojatekosok = jo.getJSONObject("kezdo"); 
     System.out.print("\n"+kezdojatekosok); 
     for (int j = 0; j < kezdojatekosok.length(); j++) { 
      JSONObject egyjjson = kezdojatekosok; 

И Исключением является следующее:

at org.json.JSON.typeMismatch(JSON.java:100) 
org.json.JSONObject.getJSONArray(JSONObject.java:588) 
+0

Пожалуйста, покажите соответствующие части структуры JSON, пожалуйста, покажите больше сообщения об исключении и, пожалуйста, недвусмысленно покажите, какая строка кода вызывает исключение исключения –

ответ

1

Ваш JSON содержит первый Объект, начинающийся с «{», поэтому вся ваша строка JSON представляет объект JSONObject. Тогда после того, как, попасть внутрь него объект «hforma», то JSONArray из Гогта, а затем вы можете перебирать на них, чтобы на каждый, hcsapat и vcsapat атрибуты как строки.

Что-то вроде этого:

JSONObject complete = new JSONObject(WHOLE_JSON_AS_STRING); 
JSONObject hforma = complete.getJSONObject("hforma"); 
JSONArray forma = hforma.getJSONArray("forma"); 

for (int i = 0; i < forma.length(); i++) { 
    JSONObject formaData = forma.getJSONObject(i); 
    String hcsapat = formaData.getString("hcsapat"); 
    String vcsapat = formaData.getString("vcsapat"); 
} 

Я не проверял этот код, это просто пример, который соответствует структуре вашего JSON.