title: JSON String Parsing
body: <p>im trying to parse json data sent from php using android. Here is the code. the json output looks something like this :
  "{documents:[{idnumber:'28044684',doctype:'National ID'}],success:1}"</p>
  
  <p>im getting the error <code>ERROR parsing JSONObject value [null];</code> even when I directly assign the json output to the variable json. What could be the problem?? </p>
  
  <pre><code>String json = "";
          List&lt;NameValuePair&gt; params = new ArrayList&lt;NameValuePair&gt;();
          params.add(new BasicNameValuePair("idnumber", parameter));
          // Making HTTP request
          try {
  
              // check for request method
              if (method == "POST") {
                  // request method is POST
                  // defaultHttpClient
                  DefaultHttpClient httpClient = new DefaultHttpClient();
                  HttpPost httpPost = new HttpPost(url);
                  httpPost.setEntity(new UrlEncodedFormEntity(params));
                  HttpResponse httpResponse = httpClient.execute(httpPost);
                  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;
                  HttpGet httpGet = new HttpGet(url);
                  HttpResponse httpResponse = httpClient.execute(httpGet);
                  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, "utf-8"), 300);
              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 (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 null;
  </code></pre>