如何将json对象发布到url等Web服务

时间:2014-11-24 11:23:26

标签: java android json web-services post

我想将JSON对象传递给像这样的

这样的Web服务
firstname=jhon&lastname=mic&mail=jhon@gmail.com&sex=M&hometown=blablabla

我怎么能通过,任何人请帮帮我。我这样试试

    JSONObject json = new JSONObject();
        json.put("firstname", firstname);
        json.put("lastname", laststname);
         json.put("mail", mail);
        json.put("sex", sex);
        json.put("hometown", hometown)


  HttpClient client=new DefaultHttpClient();

        HttpPost post=new HttpPost(url);
        post.setEntity(new ByteArrayEntity(json1.toString().getBytes("UTF8")));         
        HttpResponse response = client.execute(post);    

        HttpEntity entity = response.getEntity(); 
        if(entity!=null)
        {
            InputStream instream=entity.getContent();
            String result=convertStreamToString(instream);

        }

public static String convertStreamToString(InputStream is)

{

  BufferedReader reader = new BufferedReader(new InputStreamReader(is));

  StringBuilder sb = new StringBuilder();

  String line = null;
  try
  {

      while ((line = reader.readLine()) != null)
      {
              sb.append(line + "\n");

      } 
  }
  catch (IOException e)
  {
      e.printStackTrace();
  }
  finally
  {
      try
      {
          is.close();
      }
      catch (IOException e)
      {
          e.printStackTrace();
      }
  }
  return sb.toString();
}

但是这段代码没有向webservice发布正确的值,有什么不对请帮助我,
  谢谢:))

1 个答案:

答案 0 :(得分:0)

StringBuilder bu = new StringBuilder();
    for(int i = 0; i<json.names().length(); i++){
        bu.append("&");
        try {
            bu.append(json.names().getString(i)+"="+json.get(json.names().getString(i)));
        } catch (JSONException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
    bu.toString();//give you parameters