Here is UTF-8 version, with several exception handling:
static InputStream is = null; static JSONObject jObj = null; static String json = null; static HttpResponse httpResponse = null; public JSONObject getJSONFromUrl(String url) { // Making HTTP request try { HttpParams params = new BasicHttpParams(); HttpConnectionParams.setConnectionTimeout(params, 10000); HttpConnectionParams.setSoTimeout(params, 10000); HttpProtocolParams.setVersion(params, HttpVersion.HTTP_1_1); HttpProtocolParams.setContentCharset(params, HTTP.UTF_8); HttpProtocolParams.setUseExpectContinue(params, true); // defaultHttpClient DefaultHttpClient httpClient = new DefaultHttpClient(params); HttpGet httpPost = new HttpGet( url); httpResponse = httpClient.execute( httpPost); HttpEntity httpEntity = httpResponse.getEntity(); is = httpEntity.getContent(); } catch (UnsupportedEncodingException ee) { Log.i("UnsupportedEncodingException...", is.toString()); } catch (ClientProtocolException e) { Log.i("ClientProtocolException...", is.toString()); } catch (IOException e) { Log.i("IOException...", is.toString()); } try { BufferedReader reader = new BufferedReader(new InputStreamReader( is, "utf-8"), 8); //old charset iso-8859-1 StringBuilder sb = new StringBuilder(); String line = null; while ((line = reader.readLine()) != null) { sb.append(line + "\n"); } is.close(); reader.close(); json = sb.toString(); Log.i("StringBuilder...", json); } 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 (Exception e) { Log.e("JSON Parser", "Error parsing data " + e.toString()); try { jObj = new JSONObject(json.substring(json.indexOf("{"), json.lastIndexOf("}") + 1)); } catch (Exception e0) { Log.e("JSON Parser0", "Error parsing data [" + e0.getMessage()+"] "+json); Log.e("JSON Parser0", "Error parsing data " + e0.toString()); try { jObj = new JSONObject(json.substring(1)); } catch (Exception e1) { Log.e("JSON Parser1", "Error parsing data [" + e1.getMessage()+"] "+json); Log.e("JSON Parser1", "Error parsing data " + e1.toString()); try { jObj = new JSONObject(json.substring(2)); } catch (Exception e2) { Log.e("JSON Parser2", "Error parsing data [" + e2.getMessage()+"] "+json); Log.e("JSON Parser2", "Error parsing data " + e2.toString()); try { jObj = new JSONObject(json.substring(3)); } catch (Exception e3) { Log.e("JSON Parser3", "Error parsing data [" + e3.getMessage()+"] "+json); Log.e("JSON Parser3", "Error parsing data " + e3.toString()); } } } } } // return JSON String return jObj; }