2012-02-13 16 views
9

Impossibile ottenere la lunghezza dell'array dell'array JSON. quando uso la lunghezza(); il metodo non funziona, si mostrano come sottolineatura rossa in NetbeansLunghezza array JSON

questo è il codice sorgente

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

Compilare? Potrebbe esserci un problema con l'evidenziazione di netbean. –

risposta

4

Hai provato size()? Qualcosa del tipo:

jar.size(); 

Spero che sia d'aiuto.

0

Controllare di avere la linea:

import org.json.JSONArray; 

nella parte superiore del codice sorgente

3

sono venuto qui e guardando come ottenere il numero di elementi all'interno di un JSONArray. Dalla tua domanda ho usato length() così:

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

e ha funzionato come previsto. D'altra parte jar.size(); (come proposto nell'altra risposta) non funziona per me.

Quindi per gli utenti futuri che cercano (come me) come ottenere le dimensioni di un JSONArray, length() funziona bene.

+0

'.length()' funziona anche per 'JSONObject'. –

22

Nota: se si utilizza (importazione) org.json.simple.JSONArray, è necessario utilizzare JSONArray.size() per ottenere i dati desiderati. Ma usa JSONArray.length() se stai usando org.json.JSONArray.

0

JSONArray.length() restituisce il numero di elementi nel JSONObject contenuto nella matrice. Non le dimensioni della matrice stessa.

0

Il frammento di seguito funziona bene per me (io ho usato la dimensione())

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); 
      } 

Se è sbagliato usare dimensioni uso() raccomandano gentilmente

0

Alla mia versione la funzione per ottenere il lunghezza o dimensione era Count()

Sei il benvenuto, spero che aiuti qualcuno.