·您现在的位置: 云翼网络 >> 文章中心 >> 网站建设 >> 网站建设开发 >> php网站开发 >> 如何POST一个JSON格式的数据给Restful服务

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

作者:佚名      php网站开发编辑:admin      更新时间:2022-07-23

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

JSONObject jsonObj = new JSONObject();
jsonObj.put("username", username);
jsonObj.put("apikey", apikey);
// Create the POST object and add the parameters
HttpPost 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实现:

 1 $data = array("name" => "Hagrid", "age" => "36"); 
 2 $data_string = json_encode($data); 
 3 $ch = curl_init('http://api.local/rest/users'); 
 4 curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST"); 
 5 curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);
 6 curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
 7 curl_setopt($ch, CURLOPT_HTTPHEADER, array( 
 8 'Content-Type: application/json',
 9 'Content-Length: ' . strlen($data_string)) 
10 ); 
11 $result = curl_exec($ch);