如何POST一个JSON格式的数据给Restful服务

来源:互联网 发布:邮箱注册知乎怎么登陆 编辑:程序博客网 时间:2024/05/21 10:02

在Android/java平台上实现POST一个json数据:

JSONObject jsonObj = new JSONObject();jsonObj.put("username", username);jsonObj.put("apikey", apikey);// Create the POST object and add the parametersHttpPost httpPost = new HttpPost(url);StringEntity entity = new StringEntity(jsonObj.toString(), HTTP.UTF_8);entity.setContentType("application/json");httpPost.setEntity(entity);HttpClient client = new DefaultHttpClient();HttpResponse response = client.execute(httpPost);


用curl可执行如下命令:

curl -l -H "Content-type: application/json" -X POST -d '{"phone":"13521389587","password":"test"}' http://domain/apis/users.json


用jQuery:

$.ajax({  url:url,  type:"POST",  data:data,  contentType:"application/json; charset=utf-8",  dataType:"json",  success: function(){    ...  }})

PHP用cUrl实现:

$data = array("name" => "Hagrid", "age" => "36");                                                                    $data_string = json_encode($data);     $ch = curl_init('http://api.local/rest/users');      curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");                          curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);curl_setopt($ch, CURLOPT_HTTPHEADER, array(                     'Content-Type: application/json',    'Content-Length: ' . strlen($data_string))         );                                                                                                                   $result = curl_exec($ch);


by iefreer