2013-10-14 5 views
-1

У меня есть JSON со следующей структурой:Синтаксического JSON массив с JSON ОБЪЕКТОМ

{"cit": [ 
    "ALL", 
    "Aceh Barat", 
    "Aceh Besar", 
    "Aceh Jaya", 
    "Aceh Selatan", 
    "Aceh Tengah", 
    "Aceh Timur", 
    "Aceh Utara"]} 

я имею попытаться разбор моего JSON как это:

JSONObject jsonObject = new JSONObject(result); 
JSONArray city=jsonObject.getJSONArray("cit"); 

for (int j=0; j < city.length(); j++){ 
    JSONObject cit = city.getJSONObject(j); 
    String kot = cit.toString(j); 

    kota.add(kot); 
} 

на посте выполнить:

ArrayAdapter<String> SpinnerKota = new ArrayAdapter<String>(Pencarian.this, android.R.layout.simple_list_item_1, kota); 
spin_kota.setAdapter(SpinnerKota); 

но ничего не случилось, есть ли что-то не так с моим кодом? Я надеюсь, что кто-то может помочь мне решить мою проблему.

+0

Как вы ничего не знаете? Вы получаете какой-то стек? Вы не получаете ожидаемый результат? (Отсканированный фрагмент не указывает, будет ли вы так или иначе получать выход.) – Makoto

+1

используйте этот 'String kot = city.get (j)' – Raghunandan

+0

в моем счетчике, который будет отображаться как: [ "ВСЕ », „Ачех Барат“, „Ачех Бесар“, „Ачех Джая“, „Ачех Selatan“, „Ачех Тенгах“, „Ачех Тимур“, „Ачех Utara“] и я думаю, что это не true –

ответ

2
"cit": [ // json array cit 
"ALL", // index 0 is ALL 

Также нет объекта JSON внутри массива JSON цит. Так что вам это не нужно JSONObject cit = city.getJSONObject(j).

Изменить

String kot = cit.toString(j); 

Для

String kot = (String) city.get(j); 

Используйте ниже

 JSONObject jsonObject = new JSONObject("myjson string"); 
     JSONArray city=jsonObject.getJSONArray("cit"); 
     for(int i=0;i<city.length();i++) 
     { 
      String cities = (String) city.get(i); 
      Log.i("All Cities",cities); 
      kota.add(cities); 
     } 
0
Object obj = yourJsonResult; 
JSONObject jsonObject = (JSONObject) obj; 
JSONArray msg = (JSONArray) jsonObject.get("cit"); 
Iterator<String> iterator = msg.iterator(); 

while (iterator.hasNext()) { 
    System.out.println(iterator.next()); 
} 
0

вы можете сделать это в следующем коде это проверяется

String jsonSource="{'cit': ['ALL','Aceh Barat','Aceh Besar','Aceh Jaya','Aceh Selatan','Aceh Tengah','Aceh Timur','Aceh Utara']}"; 
    try { 
     JSONObject jsonObject=new JSONObject(jsonSource); 
     JSONArray jsonArray=jsonObject.getJSONArray("cit");   
     int length = jsonArray.length(); 
     String [] cities = new String [length]; 
     if (length > 0) { 
      for (int i = 0; i < length; i++) { 
       cities[i] = jsonArray.getString(i); 
      } 
     } 
     //to check we can print our string array 
     for (int i = 0; i < cities.length; i++) { 
      Log.d("JSON parsing ",cities[i]);    
     } 
    } catch (JSONException e) { 
     e.printStackTrace(); 
    } 
+0

Простой код не является ответом. Пожалуйста, объясните, что случилось с его кодом. –

1

Делают это, как этот

JSONArray json = jParser.getJSONFromUrl(URL); 

JSONObject c = json.getJSONObject(0); 

JSONArray city = c.getJSONArray("cit");  

for (int j=0; j < city.length(); j++){ 

    String kot = cit.get(j); 

    kota.add(kot); 
} 
+0

Простой код - это не ответ. Пожалуйста, объясните, что случилось с его кодом. –

Смежные вопросы