4

我有一个来自 json 提要的数组,我知道在 jArray 中有一个联赛,但我需要计算出该数组的计数,以防日后将第二个添加到提要中。目前 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);  
      }
}
4

3 回答 3

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

于 2012-04-22T07:30:11.027 回答
0

添加以下行

 teamFeedStructure = "greater two";

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

如果您收到大于两个的消息,则意味着您的数组长度超过两个。

于 2012-04-22T07:32:08.493 回答
0

感谢大家的帮助,我发现我在提要中走得太远了,这就是为什么我在 Logcat 中没有得到任何东西的原因。现在它计算得很好。

于 2012-04-23T08:24:09.950 回答