2012-02-13 223 views
9

我无法获取JSON数组的数组长度。当我使用length();方法时不工作,它显示为红色下划线Netbeans中JSON数组获取长度

这是源代码

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

它编译?可能是netbean突出显示的问题。 – 2012-02-13 21:22:55

回答

4

你试过尺寸()? 类似于:

jar.size(); 

希望它有帮助。

0

检查是否具有行:

import org.json.JSONArray; 

在你的源代码

3

我来到这里,寻找如何获得JSONArray内元素的数量上。从你的问题我使用length()这样的:

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

它的工作如预期。另一方面jar.size();(正如在其他答案中提出的)不适合我。

因此,对于未来的用户搜索(如我)如何获得大小JSONArraylength()工作得很好。

+0

'.length()'也适用于'JSONObject'。 – 2015-09-10 19:09:48

22

注意:如果您使用(导入)org.json.simple.JSONArray,则必须使用JSONArray.size()来获取所需的数据。但如果您使用org.json.JSONArray,请使用JSONArray.length()

0

JSONArray.length()返回数组中包含的JSONObject中元素的数量。不是数组本身的大小。

0

以下代码段工作正常,我(我使用的大小())

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

如果这是错误的使用使用大小()请告知

0

在我的版本的函数来得到长度或大小是Count()

欢迎您,希望它可以帮助别人。