title: Sending a JSON HTTP POST request from Android
body: <p>I'm using the code below to send an http POST request which sends an object to a WCF service. This works ok, but what happens if my WCF service needs also other parameters? How can I send them from my Android client?  </p>
  
  <p>This is the code I've written so far:</p>
  
  <pre><code>StringBuilder sb = new StringBuilder();  
  
  String http = "http://android.schoolportal.gr/Service.svc/SaveValues";  
  
  
  HttpURLConnection urlConnection=null;  
  try {  
      URL url = new URL(http);  
      urlConnection = (HttpURLConnection) url.openConnection();
      urlConnection.setDoOutput(true);   
      urlConnection.setRequestMethod("POST");  
      urlConnection.setUseCaches(false);  
      urlConnection.setConnectTimeout(10000);  
      urlConnection.setReadTimeout(10000);  
      urlConnection.setRequestProperty("Content-Type","application/json");   
  
      urlConnection.setRequestProperty("Host", "android.schoolportal.gr");
      urlConnection.connect();  
  
      //Create JSONObject here
      JSONObject jsonParam = new JSONObject();
      jsonParam.put("ID", "25");
      jsonParam.put("description", "Real");
      jsonParam.put("enable", "true");
      OutputStreamWriter out = new   OutputStreamWriter(urlConnection.getOutputStream());
      out.write(jsonParam.toString());
      out.close();  
  
      int HttpResult =urlConnection.getResponseCode();  
      if(HttpResult ==HttpURLConnection.HTTP_OK){  
          BufferedReader br = new BufferedReader(new InputStreamReader(  
              urlConnection.getInputStream(),"utf-8"));  
          String line = null;  
          while ((line = br.readLine()) != null) {  
              sb.append(line + "\n");  
          }  
          br.close();  
  
          System.out.println(""+sb.toString());  
  
      }else{  
              System.out.println(urlConnection.getResponseMessage());  
      }  
  } catch (MalformedURLException e) {  
  
           e.printStackTrace();  
  }  
  catch (IOException e) {  
  
      e.printStackTrace();  
      } catch (JSONException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
  }finally{  
      if(urlConnection!=null)  
      urlConnection.disconnect();  
  }  
  </code></pre>