POST一个JSON格式的数据给Restful服务实例详解

时间:2022-11-18 13:42:20

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

?
1
2
3
4
5
6
7
8
9
10
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可执行如下命令:

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

用jQuery:

?
1
2
3
4
5
6
7
8
9
10
$.ajax({
 url:url,
 type:"POST",
 data:data,
 contentType:"application/json; charset=utf-8",
 dataType:"json",
 success: function(){
  ...
 }
})

PHP用cUrl实现:

?
1
2
3
4
5
6
7
8
9
10
11
$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);

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

原文链接:http://blog.csdn.net/iefreer/article/details/8280345