我无法获得JSON数组的数组长度。当我使用length();方法不起作用,它在Netbeans中显示为红色下划线
这是源代码
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 :(得分:30)
注意:如果您正在使用(导入)org.json.simple.JSONArray
,则必须使用JSONArray.size()
来获取所需的数据。但如果您使用的是JSONArray.length()
,请使用org.json.JSONArray
。
答案 1 :(得分:6)
jar.size();
希望它有所帮助。
答案 2 :(得分:4)
我来到这里看看如何获得JSONArray
内的元素数量。根据您的问题,我使用了length()
:
JSONArray jar = myjson.getJSONArray("_types");
System.out.println(jar.length());
它按预期工作。另一方面,jar.size();
(在另一个答案中提出)对我不起作用。
因此,对于未来的用户搜索(像我一样)如何获得JSONArray
的大小,length()
工作得很好。
答案 3 :(得分:0)
检查你的行:
import org.json.JSONArray;
位于源代码的顶部
答案 4 :(得分:0)
JSONArray.length()返回Array中包含的JSONObject中的元素数。不是数组本身的大小。
答案 5 :(得分:0)
下面的代码片段对我来说很好(我使用了size())
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);
}
如果使用use size()是错误的,请提示
答案 6 :(得分:0)
在我的版本中,获取长度或大小的函数是Count()
您欢迎,希望它可以帮到某人。