JSON数组得到长度

时间:2012-02-13 21:12:11

标签: java json

我无法获得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();
    }

7 个答案:

答案 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()

您欢迎,希望它可以帮到某人。