Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/silverlight/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
只能迭代java.lang.Iterable的数组或实例_Java_Android_Json - Fatal编程技术网

只能迭代java.lang.Iterable的数组或实例

只能迭代java.lang.Iterable的数组或实例,java,android,json,Java,Android,Json,嗨,我一直收到这个错误,我试图通过JSON从twitter获取推文,但似乎无法在“arr”上消除这个错误。我需要做一个不同的for循环吗?我确实尝试过这个,但它总是返回相同的错误 public ArrayList<Tweet> getTweets(String searchTerm, int page) { String searchUrl = "http://search.twitter.com/search.json?q=@"

嗨,我一直收到这个错误,我试图通过JSON从twitter获取推文,但似乎无法在“arr”上消除这个错误。我需要做一个不同的for循环吗?我确实尝试过这个,但它总是返回相同的错误

 public ArrayList<Tweet> getTweets(String searchTerm, int page) {
      String searchUrl = 
            "http://search.twitter.com/search.json?q=@" 
            + searchTerm + "&rpp=100&page=" + page;

      ArrayList<Tweet> tweets = 
            new ArrayList<Tweet>();

      HttpClient client = new  DefaultHttpClient();
      HttpGet get = new HttpGet(searchUrl);

      ResponseHandler<String> responseHandler = 
            new BasicResponseHandler();

      String responseBody = null;
      try {
        responseBody = client.execute(get, responseHandler);
      } catch(Exception ex) {
        ex.printStackTrace();
      }

      JSONObject jsonObject = null;
      JSONParser parser = new JSONParser();

      try {
        Object obj = parser.parse(responseBody);
        jsonObject=(JSONObject)obj;
      }catch(Exception ex){
        Log.v("TEST","Exception: " + ex.getMessage());
      }

      JSONArray<Object> arr = null;

      try {
        Object j = jsonObject.get("results");
        arr = (JSONArray)j;
      } catch(Exception ex){
        Log.v("TEST","Exception: " + ex.getMessage());
      }

      for(Object t : arr) {
        Tweet tweet = new Tweet(
          ((JSONObject)t).get("from_user").toString(),
          ((JSONObject)t).get("text").toString(),
          ((JSONObject)t).get("profile_image_url").toString()
        );
        tweets.add(tweet);
      }

      return tweets;
    }
public ArrayList getTweets(字符串搜索词,int页){
字符串搜索URL=
"http://search.twitter.com/search.json?q=@" 
+searchTerm+“&rpp=100&page=“+page;
ArrayList推文=
新的ArrayList();
HttpClient=new DefaultHttpClient();
HttpGet=newhttpget(searchUrl);
ResponseHandler ResponseHandler=
新的BasicResponseHandler();
字符串responseBody=null;
试一试{
responseBody=client.execute(get,responseHandler);
}捕获(例外情况除外){
例如printStackTrace();
}
JSONObject JSONObject=null;
JSONParser=新的JSONParser();
试一试{
objectobj=parser.parse(responseBody);
jsonObject=(jsonObject)obj;
}捕获(例外情况除外){
Log.v(“测试”,“异常:+ex.getMessage());
}
JSONArray arr=null;
试一试{
objectj=jsonObject.get(“结果”);
arr=(JSONArray)j;
}捕获(例外情况除外){
Log.v(“测试”,“异常:+ex.getMessage());
}
用于(对象t:arr){
Tweet=新Tweet(
((JSONObject)t).get(“来自用户”).toString(),
((JSONObject)t.get(“text”).toString(),
((JSONObject)t.get(“profile\u image\u url”).toString()
);
添加(tweet);
}
返回推文;
}

请帮忙

JSONArray
未实现
Iterable
。使用
length
get
访问其中的成员(请参阅)

int count=arr.length();

对于(int i=0;i
JSONArray
不实现
Iterable
。使用
length
get
访问其中的成员(请参阅)

int count=arr.length();

for(int i=0;i正如异常所说,您只能在
java.lang.Iterable
JSONArray
的实例上使用for each循环进行迭代

将“经典”用于循环:

for(int i = 0; i < arr.length(); i++) {
   JSONObject t = (JSONObject) arr.get(i);
   Tweet tweet = new Tweet(
     t.get("from_user").toString(),
     t.get("text").toString(),
     t.get("profile_image_url").toString()
   );
   tweets.add(tweet);
 }
for(int i=0;i
正如例外情况所述,您只能在
java.lang.Iterable的实例上使用for-each循环进行迭代。
JSONArray
不是其中之一

将“经典”用于循环:

for(int i = 0; i < arr.length(); i++) {
   JSONObject t = (JSONObject) arr.get(i);
   Tweet tweet = new Tweet(
     t.get("from_user").toString(),
     t.get("text").toString(),
     t.get("profile_image_url").toString()
   );
   tweets.add(tweet);
 }
for(int i=0;i
hava look here!hava look here!感谢这帮助我编译代码,但我现在在这两行中出现运行时错误:tweets=getTweets(“android”,1);&for(int i=0;i