2012-02-13 16 views
9

Nie mogę uzyskać długości tablicy JSON. kiedy używam length(); metoda nie działa, to pokazać, jak czerwone podkreślenia w NetbeansJSON array get length

to jest kod źródłowy

try { 

     JSONObject myjson = JSONObject.fromObject(practiceInfoByUsername); 

     //JSONArray nameArray = myjson.names(); 
     final JSONArray jar = myjson.getJSONArray("_types"); 
     for(int i=0; i<jar.length(); i++) 
     { 
      String p = jar.getString(i); 
      Log.i("p",p); 


     } 

    } catch (JSONException e) { 
      e.printStackTrace(); 
    } 
+0

Czy to się kompiluje? Może być problem z podświetlaniem netbean. –

Odpowiedz

4

próbowałeś wielkość()? Coś jak:

jar.size(); 

Mam nadzieję, że to pomaga.

0

Sprawdź czy masz linię:

import org.json.JSONArray; 

w górnej części kodu źródłowego

3

tu przyjechałem i patrząc jak uzyskać liczbę elementów wewnątrz JSONArray. Z pytaniem użyłem length() tak:

JSONArray jar = myjson.getJSONArray("_types"); 
System.out.println(jar.length()); 

i działało zgodnie z oczekiwaniami. Z drugiej strony jar.size(); (jak zaproponowano w drugiej odpowiedzi) nie działa dla mnie.

Tak więc dla przyszłych użytkowników poszukujących (jak ja), jak uzyskać rozmiar JSONArray, length() działa dobrze.

+0

'.length()' działa również dla 'JSONObject'. –

22

Uwaga: jeśli używasz (importujesz) org.json.simple.JSONArray, musisz użyć JSONArray.size(), aby uzyskać żądane dane. Ale użyj JSONArray.length(), jeśli używasz org.json.JSONArray.

0

Funkcja JSONArray.length() zwraca liczbę elementów w obiekcie JSONObject zawartym w tablicy. Nie rozmiar samej tablicy.

0

Poniższy fragment działa dobrze dla mnie (ja użyłem wielkość())

String itemId; 
      for (int i = 0; i < itemList.size(); i++) { 
      JSONObject itemObj = (JSONObject)itemList.get(i); 
      itemId=(String) itemObj.get("ItemId"); 
      System.out.println(itemId); 
      } 

Jeśli jest źle używać wielkości użytkowania() prosimy o poinformowanie

0

W mojej wersji funkcji, aby uzyskać długość lub rozmiar: Count()

Witaj, miej nadzieję, że komuś pomóż.