public class JSONParser {
static InputStream is = null;
static JSONObject jObj = null;
static String json = "";
static String responseString;
// constructor
public JSONParser() {
}
// function get json from url
// by making HTTP POST or GET mehtod
public static JSONObject makeHttpRequest(String url, String method,
List<NameValuePair> params) {
// Making HTTP request
Log.d("json class", url + "," + method + "," + params.toString());
try {
// check for request method
if (method == "POST") {
// request method is POST
// defaultHttpClient
Log.d("json class", "post method");
DefaultHttpClient httpClient = new DefaultHttpClient();
HttpPost httpPost = new HttpPost(url);
Log.d("json class", "HttpPost" + httpPost);
httpPost.setEntity(new UrlEncodedFormEntity(params));
Log.d("json class", "setentity");
HttpResponse httpResponse = httpClient.execute(httpPost);
ByteArrayOutputStream out = new ByteArrayOutputStream();
int responce_code = httpResponse.getStatusLine()
.getStatusCode();
Log.d("responce code", "response method");
Log.d("responce code", "" + responce_code);
StatusLine statusLine = httpResponse.getStatusLine();
if (statusLine.getStatusCode() == HttpStatus.SC_OK) {
Log.i("RESPONSE", "6");
/*
* httpResponse.getEntity().writeTo(out); out.close();
* String responseString = out.toString(); Log.i("RESPONSE",
* ""+responseString);
*/
// ..more logic
} else {
Log.d("RESPONSE", "null pointer exception");
// Closes the connection.
httpResponse.getEntity().getContent().close();
throw new IOException(statusLine.getReasonPhrase());
}
HttpEntity httpEntity = httpResponse.getEntity();
is = httpEntity.getContent();
} else if (method == "GET") {
// request method is GET
DefaultHttpClient httpClient = new DefaultHttpClient();
String paramString = URLEncodedUtils.format(params, "utf-8");
url += "?" + paramString;
Log.i("url", url);
HttpGet httpGet = new HttpGet(url);
ByteArrayOutputStream out = new ByteArrayOutputStream();
HttpResponse httpResponse = httpClient.execute(httpGet);
int responce_code = httpResponse.getStatusLine()
.getStatusCode();
Log.d("responce code", "response method");
Log.d("responce code", "" + responce_code);
StatusLine statusLine = httpResponse.getStatusLine();
if (statusLine.getStatusCode() == HttpStatus.SC_OK) {
Log.d("RESPONSE", "6");
httpResponse.getEntity().writeTo(out);
Log.d("RESPONSE", "7");
out.close();
Log.d("RESPONSE", "8");
responseString = out.toString();
Log.d("RESPONSE", "9");
Log.i("RESPONSE", "" + responseString);
// ..more logic
} else {
Log.d("RESPONSE", "null pointer exception");
// Closes the connection.
httpResponse.getEntity().getContent().close();
throw new IOException(statusLine.getReasonPhrase());
}
/*
* HttpEntity httpEntity = httpResponse.getEntity(); is =
* httpEntity.getContent();
*/
}
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
try {
/*
* BufferedReader reader = new BufferedReader(new InputStreamReader(
* is, "iso-8859-1"), 8); StringBuilder sb = new StringBuilder();
* String line = null; while ((line = reader.readLine()) != null) {
* sb.append(line + "\n"); } is.close();
*/
json = responseString.toString();
} catch (Exception e) {
Log.e("Buffer Error", "Error converting result " + e.toString());
}
// try parse the string to a JSON object
try {
jObj = new JSONObject(json);
} catch (JSONException e) {
Log.e("JSON Parser", "Error parsing data " + e.toString());
}
// return JSON String
return jObj;
}
}