2012-02-13 16 views
9

No puedo obtener la longitud de la matriz JSON. cuando uso length(); método que no está funcionando, que se muestran como subrayado rojo en Netbeansmatriz JSON obtener longitud

El código fuente

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

¿Compila? Puede ser un problema con el resaltado de netbean. –

Respuesta

4

han intentado size()? Algo así como:

jar.size(); 

espero que ayude.

0

Compruebe que ha recibido la línea:

import org.json.JSONArray; 

en la parte superior de su código fuente

3

Vine aquí y mirando cómo obtener el número de elementos dentro de un JSONArray. Desde su pregunta yo solía length() así:

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

y funcionó como se esperaba. Por otro lado, jar.size(); (como se propuso en la otra respuesta) no funciona para mí.

Para usuarios futuros que buscan (como yo) cómo obtener el tamaño de JSONArray, length() funciona bien.

+0

'.length()' también funciona para 'JSONObject'. –

22

Nota: si está utilizando (importación) org.json.simple.JSONArray, debe utilizar JSONArray.size() para obtener los datos que desea. Pero use JSONArray.length() si está usando org.json.JSONArray.

0

El JSONArray.length() devuelve la cantidad de elementos en el JSONObject contenido en la matriz. No el tamaño de la matriz en sí.

0

El siguiente fragmento de código funciona bien para mí (he usado el tamaño())

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

Si no es correcto usar el tamaño de su uso() aconseje amablemente

0

En mi versión de la función para obtener la la longitud o el tamaño era Count()

Eres Bienvenido, espero que ayude a alguien.