Twitter 検索フィードからの json の解析に問題があります。たとえば、検索 URL は次のとおりです。
https://search.twitter.com/search.json?q=android
jsonデータで「結果」配列を取得したい。fetch json と parse の私のコード:
StringBuilder tweetFeedBuilder = new StringBuilder();
HttpClient tweetClient = new DefaultHttpClient();
//pass search URL string to fetch
HttpGet tweetGet = new HttpGet(searchURL);
//execute request
HttpResponse tweetResponse = tweetClient.execute(tweetGet);
//check status, only proceed if ok
StatusLine searchStatus = tweetResponse.getStatusLine();
if (searchStatus.getStatusCode() == 200) {
//get the response
HttpEntity tweetEntity = tweetResponse.getEntity();
InputStream tweetContent = tweetEntity.getContent();
//process the results
InputStreamReader tweetInput = new InputStreamReader(tweetContent);
BufferedReader tweetReader = new BufferedReader(tweetInput);
while ((lineIn = tweetReader.readLine()) != null)
{
tweetFeedBuilder.append(lineIn);
}
try{
// A Simple JSONObject Creation
JSONObject json=new JSONObject(tweetFeedBuilder);
Log.i("Tweets","<jsonobject>\n"+json.toString()+"\n</jsonobject>");
String str1 = "result";
JSONArray jarray = json.getJSONArray(str1);
for(int i = 0; i < jarray.length(); i++){
JSONObject c = jarray.getJSONObject(i);
String id = c.getString(TWEET_ID);
String text = c.getString(TWEET_TEXT);
}
}
catch(JSONException jexp){
jexp.printStackTrace();
}
JSONオブジェクトを作成した後、JSONArrayは作成時にエラーを出し、catchブロックに入ります。実際には、JSON データから「結果」配列を取得したいと考えています。
しかし、作成中にエラーが発生しました。JSON データから user_id とテキストをフェッチしたいだけです。私はAndroidプラットフォームとEclipse SDKで働いています。