我想解析一些JSON並將其發送到我的android應用程序中的EditText字段。我最近發現我得到的錯誤是源自我的StringBuilder的內容。我沒有使用StringBuilder,而是將一個json樣本硬編碼爲一個字符串,並將其發送到EditText字段。這工作正常,我得到了我期待顯示的價值。不過,我需要通過訪問我正在使用的API而不是硬編碼來工作。以下是我的JSON解析器類。有沒有一種方法可以在inputStream關閉之前檢查我的stringBuilder中的內容。通過這種方式我可以將其排序並將我的jSon返回到stringBuilder.toString()而不是對其進行硬編碼。如何檢查字符串生成器的內容
package com.apitest.rottentomatoestest;
import java.io.*;
import org.apache.http.*;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.json.*;
import android.util.Log;
public class JSONParser {
static InputStream inputStream = null;
static JSONObject jObject = null;
static String jSon = "";
public JSONParser() {
// TODO Auto-generated constructor stub
}
public JSONObject getJSONFromUrl(String url){
//Make HTTP Request
try {
//defaultHttpClient
DefaultHttpClient httpClient = new DefaultHttpClient();
HttpPost httpPost = new HttpPost(url);
HttpResponse httpResponse = httpClient.execute(httpPost);
HttpEntity httpEntity = httpResponse.getEntity();
inputStream = httpEntity.getContent();
} catch (UnsupportedEncodingException e){
e.printStackTrace();
} catch (ClientProtocolException e){
e.printStackTrace();
}catch (IOException e){
e.printStackTrace();
}
try {
BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream, "UTF-8"), 8);
StringBuilder stringBuilder = new StringBuilder();
String line = null;
while ((line = reader.readLine()) != null){
stringBuilder.append(line + "\n");
}
inputStream.close();
jSon = "{\"cast\":[{\"id\":\"162661723\",\"name\":\"Snoop Dogg\"}]}";
} catch (Exception e){
Log.e("Buffer Error", "Error converting result " + e.toString());
}
//try to parse the string to JSON Object
try {
jObject = new JSONObject(jSon);
} catch (JSONException e){
Log.e("JSON Parser", "Error parsing data " + e.toString());
}
//return JSON String
return jObject;
}
}
謝謝你做到了。我看到stringBuilder的內容是
596服務沒有找到
不知道爲什麼我現在得到這個。我的網址是有效的,API鍵是活動的。任何人有任何線索是什麼造成這種情況?使用爛番茄api btw。 – user881667 2012-08-17 00:52:56請檢查您正在使用的網址。查看更新。 – Reimeus 2012-08-17 01:17:42