title: Create json object in servlet
body: <p>I want to send retrieved data from sever to my Android client... I used a json object to do that. Here is my servlet code.  </p>
  
  <pre><code>import java.io.IOException; 
  import java.io.PrintWriter;
  import java.sql.Connection;
  import java.sql.DriverManager;
  import java.sql.ResultSet;
  import java.sql.SQLException;
  import java.sql.Statement;
  import java.io.IOException;
  import java.io.PrintWriter;
  import javax.servlet.ServletException;
  import javax.servlet.annotation.WebServlet;
  import javax.servlet.http.HttpServlet;
  import javax.servlet.http.HttpServletRequest;
  import javax.servlet.http.HttpServletResponse;
  import net.sf.json.JSONArray;
  import net.sf.json.JSONObject;
  
      public class AvailabilityResponse extends HttpServlet {
  
  @Override
      protected void doPost(HttpServletRequest request, HttpServletResponse response)
      throws ServletException, IOException {
  
      response.setContentType("application/json");
      PrintWriter out=response.getWriter();
  
          String br_id;
          br_id=request.getParameter("branchname");
  
      try{
          Class.forName("com.mysql.jdbc.Driver").newInstance();
              Connection con=DriverManager.getConnection("jdbc:mysql://localhost:8888/atmlivedetails","root","root");  
              Statement st=con.createStatement();
              ResultSet rs=st.executeQuery("select atmbrno, atmbrname  from location_stat where act_brname='"+br_id+"'");
              while(rs.next()){
  
          String s = rs.getString("atmbrno");
          String t = rs.getString("atmbrname");
  
          JSONObject arrayObj = new JSONObject();
  
          arrayObj.put("atmbrno",s);
          arrayObj.put("atmbrname",t);
  
  
          out.print(arrayObj);
          }
          rs.close ();
          st.close ();
             }
      catch(Exception e){
              out.print(e);
      }
  
  
  }
  </code></pre>
  
  <p>}</p>
  
  <p>And This is my android side code..</p>
  
  <pre><code>import java.util.ArrayList;
  import java.io.BufferedReader;
  import java.io.IOException;
  import java.io.InputStream;
  import java.io.InputStreamReader;
  
  import org.apache.http.HttpEntity;
  import org.apache.http.HttpResponse;
  import org.apache.http.NameValuePair;
  import org.apache.http.ParseException;
  import org.apache.http.message.BasicNameValuePair;
  import org.apache.http.client.HttpClient;
  import org.apache.http.impl.client.DefaultHttpClient;
  import org.apache.http.client.methods.HttpPost;
  import org.apache.http.client.entity.UrlEncodedFormEntity;
  import org.apache.http.client.ClientProtocolException;
  import org.json.JSONArray;
  import org.json.JSONException;
  import org.json.JSONObject;
  
  import android.app.Activity;
  import android.content.Intent;
  import android.util.Log;
  import android.view.View;
  import android.widget.Button;
  import android.widget.EditText;
  import android.widget.TextView;
  import android.widget.Toast;
  import android.os.Bundle;
  
  public class CheckAvailability extends Activity{
  
  Button but1,but2;
  EditText brName;
  TextView txt1;
  String text;
  
  
  public void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.availability);
  
      brName =(EditText)findViewById(R.id.editText1);
      but1 = (Button)findViewById(R.id.button5); 
      but2 = (Button)findViewById(R.id.button6);
      txt1 = (TextView)findViewById(R.id.textView3);
  
  
  
      but1.setOnClickListener(new View.OnClickListener(){
  
          public void onClick(View v){
  
              String result = null;
              InputStream is = null;
              StringBuilder sb=null;
  
             ArrayList&lt;NameValuePair&gt; postParameters = new ArrayList&lt;NameValuePair&gt;();
  
             postParameters.add(new BasicNameValuePair("branchname", brName.getText().toString()));
  
          //http post
                    try{
                        HttpClient httpclient = new DefaultHttpClient();
                        HttpPost httppost = new HttpPost("http://10.0.2.2:8080/hello/AvailabilityResponse");
                        httppost.setEntity(new UrlEncodedFormEntity(postParameters));
                        HttpResponse response = httpclient.execute(httppost);
                        HttpEntity entity = response.getEntity();
                        is = entity.getContent();
                    }catch(Exception e){
                        Log.e("log_tag", "Error in http connection"+e.toString());
                    }
  
          //convert response to string
                    try{
                         BufferedReader reader = new BufferedReader(new InputStreamReader(is,"iso-8859-1"),8);
                         sb = new StringBuilder();
                         sb.append(reader.readLine() + "\n");
                         String line="0";
  
                               while ((line = reader.readLine()) != null) {
                                   sb.append(line + "\n");
                               }
                               is.close();
                               result=sb.toString();
  
                    }catch(Exception e){
                          Log.e("log_tag", "Error converting result "+e.toString());
                           }
  
                //paring data
                          String atm_id;
                          String atm_name;
  
                          try{
                          JSONArray jArray = new JSONArray(result);
                          JSONObject json_data=null;
  
                          for(int i=0;i&lt;jArray.length();i++){
                                  json_data = jArray.getJSONObject(i);
                                  atm_id=json_data.getString("atmbrno");
                                  atm_name=json_data.getString("atmbrname");
  
                                //txt1.setText(atm_name);
                          }
  
                          }catch(JSONException e1){
                              Toast.makeText(getBaseContext(), "No DATA Found", Toast.LENGTH_LONG).show();
  
                          }catch (ParseException e1){
                              e1.printStackTrace();
                          }
  
  
  
  
  
          }
  });
  </code></pre>
  
  <p>}
  }</p>
  
  <p>but when i run it it always gives me "No DATA Found" Exception...can any one help me???</p>