title: Getting NullPointerException for json object
body: <p>I am keep getting NullPointerException error at line <code>JSONObject json = userFunctions.uploadFileData(guid, photoName);</code> in my code below. I have no idea why am I getting this error. Please help me how can I solve this problem.</p>
  
  <p>Here is my code</p>
  
  <p>here is the method in which this error occurs</p>
  
  <pre><code>public boolean fileData(String guid, String photoName) {
      Toast.makeText(getApplicationContext(), photoName, Toast.LENGTH_LONG).show();
  
      JSONObject json = userFunctions.uploadFileData(guid, photoName);
  
      try {
          if(Integer.parseInt(json.getString("success")) != 1) {
              Toast.makeText(getApplicationContext(), json.getInt("error_msg"), Toast.LENGTH_LONG).show();
              //register_error.setText(json.getString("error_msg"));
              return false;
          }
      } catch (NumberFormatException e) {
          // TODO Auto-generated catch block
          e.printStackTrace();
      } catch (JSONException e) {
          // TODO Auto-generated catch block
          e.printStackTrace();
      }
      return true;
  }
  </code></pre>
  
  <p>Here is my uploadedFileData method</p>
  
  <pre><code>public JSONObject uploadFileData(String uid, String photoName) {
      List&lt;NameValuePair&gt; params = new ArrayList&lt;NameValuePair&gt;();
      params.add(new BasicNameValuePair("tag", file_tag));
      params.add(new BasicNameValuePair("uid", uid));
      params.add(new BasicNameValuePair("photoName", photoName));
      JSONObject json = jsonParser.getJSONFromUrl(url, params);
      Log.e("Some",json.toString());
      return json;
  }
  </code></pre>
  
  <p>and here is my JSONParser class</p>
  
  <pre><code>public class JSONParser {
  static InputStream is = null;
  static JSONObject jObj = null;
  static String json = "";
  
  public JSONParser() {
  
  }
  
  public JSONObject getJSONFromUrl(String url, List&lt;NameValuePair&gt; params) {
  
      try {
          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();
      } catch (UnsupportedEncodingException e) {
          e.printStackTrace();
      } catch (ClientProtocolException e) {
          e.printStackTrace();
      } catch (IOException e) {
          e.printStackTrace();
      }
  
      try {
          BufferedReader reader = new BufferedReader(new InputStreamReader(is));
          StringBuilder sb = new StringBuilder();
          String line = null;
  
          while((line = reader.readLine()) != null) {
              sb.append(line + "\n");
          }
  
          is.close();
          json = sb.toString();
          //Log.e("JSON", json);
      } catch (Exception e) {
          //e.printStackTrace();
          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 jObj;
  }
  }
  </code></pre>
  
  <p>Here is my logcat</p>
  
  <pre><code>06-16 17:03:47.890: E/AndroidRuntime(12364): FATAL EXCEPTION: main
  06-16 17:03:47.890: E/AndroidRuntime(12364): java.lang.NullPointerException
  06-16 17:03:47.890: E/AndroidRuntime(12364):    at com.zafar.login.Camera.fileData(Camera.java:216)
  06-16 17:03:47.890: E/AndroidRuntime(12364):    at com.zafar.login.Camera$2.run(Camera.java:186)
  06-16 17:03:47.890: E/AndroidRuntime(12364):    at android.os.Handler.handleCallback(Handler.java:587)
  06-16 17:03:47.890: E/AndroidRuntime(12364):    at android.os.Handler.dispatchMessage(Handler.java:92)
  06-16 17:03:47.890: E/AndroidRuntime(12364):    at android.os.Looper.loop(Looper.java:130)
  06-16 17:03:47.890: E/AndroidRuntime(12364):    at android.app.ActivityThread.main(ActivityThread.java:3691)
  06-16 17:03:47.890: E/AndroidRuntime(12364):    at java.lang.reflect.Method.invokeNative(Native Method)
  06-16 17:03:47.890: E/AndroidRuntime(12364):    at java.lang.reflect.Method.invoke(Method.java:507)
  06-16 17:03:47.890: E/AndroidRuntime(12364):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:907)
  06-16 17:03:47.890: E/AndroidRuntime(12364):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:665)
  06-16 17:03:47.890: E/AndroidRuntime(12364):    at dalvik.system.NativeStart.main(Native Method)
  06-16 17:03:55.115: I/Process(12364): Sending signal. PID: 12364 SIG: 9
  </code></pre>