android JSONArray长度

时间:2012-04-22 07:21:39

标签: android arrays logging

我有一个来自json feed的数组我知道在jArray中有一个联盟,但是我需要计算出该数组的计数,以便稍后将一秒添加到feed中。目前log cat没有注销“teamFeedStructure”有没有人知道我做错了什么或知道如何正确地将数组的长度转换成我可以在意图中使用的字符串?

继承人的代码

JSONObject obj = new JSONObject(json);
JSONObject objData = obj.getJSONObject("data");                      
JSONArray jArray = objData.getJSONArray("structure");
//String leagues = jArray.toString();
//Log.v("myapp", "structure" + leagues);
for (int i=0; i < jArray.length(); i++) {    
     JSONObject oneObject = jArray.getJSONObject(i);
     leaguecountArray = oneObject.getJSONArray("league_id");
     for (int l=0; l < leaguecountArray.length(); l++) {     
         if (leaguecountArray.length() == 1) {
             teamFeedStructure = "One";
         }
         if (leaguecountArray.length() == 2) {
              teamFeedStructure = "Two";
         }
         Log.v("myapp", teamFeedStructure);  
      }
}

3 个答案:

答案 0 :(得分:2)

为什么你需要在这里迭代:

for (int l=0; l < leaguecountArray.length(); l++)
{    
    if (leaguecountArray.length() == 1){

         teamFeedStructure = "One";
    }
    if (leaguecountArray.length() == 2){

        teamFeedStructure = "Two";
    }
    Log.v("myapp", teamFeedStructure);   
 }

没关系你做了多少次传球,结果仍然是一样的。

此外,您不能使用英语单词,但String可以使用您需要的数字。这样做:

teamFeedStructure = String.valueOf(leaguecountArray.length());

然后该值将变为"2"。在您的其他活动中,您可以再次将其解析为整数:int number = Integer.parseInt(teamFeedStructure);

答案 1 :(得分:0)

添加以下行

 teamFeedStructure = "greater two";

 if (leaguecountArray.length() == 1){

如果您收到更大的两个消息,则表示您的数组长度超过两个。

答案 2 :(得分:0)

感谢您的帮助,我发现我已经向Feed中走了太远,这就是为什么我没有在Logcat中得到任何东西。现在它还好。