I have following code for the JSON parser. Actually I did not wrote it by myself, I collected it from various of stackoverflow questions. But somehow it does not work. I gave the permission to use the internet:
public class JSONParser {
    static InputStream is = null;
    static JSONObject jObj = null;
    static String json = "";
    String url=null;
    // constructor
    public JSONParser() {
    }
    // function get JSON from URL
    public JSONObject makeHttpRequest(String url) {
        BackGroundTask Task= new BackGroundTask(url);
        try {
            return Task.execute().get();
        } catch (InterruptedException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
            return null;
        } catch (ExecutionException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
            return null;
        }
    }
    public class BackGroundTask extends AsyncTask<String, String, JSONObject>{
        String URL=null;
        public BackGroundTask(String url) {
            URL = url;
        }
        @Override
        protected JSONObject doInBackground(String... params) {
            // TODO Auto-generated method stub
            // Making HTTP request
            try {
                // Making HTTP request 
                // defaultHttpClient
                DefaultHttpClient httpClient = new DefaultHttpClient();
                HttpPost httpPost = new HttpPost(url);
                HttpResponse httpResponse = httpClient.execute(httpPost);
                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 = sb.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;
        }
    }
}
EDIT:
Can you see any problematic part that can cause this class to fail? I debugged my code and found out that after this lines
JSONParser jParser = new JSONParser();
JSONObject json = jParser.makeHttpRequest(URL);
the json object is null.
 
    