Heim >Backend-Entwicklung >PHP-Tutorial >如何POST一个JSON格式的数据给Restful服务,jsonrestful_PHP教程

如何POST一个JSON格式的数据给Restful服务,jsonrestful_PHP教程

WBOY
WBOYOriginal
2016-07-13 16:53:561364Durchsuche

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

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

<code><span class="typ">JSONObject<span class="pln"> jsonObj <span class="pun">=<span class="pln"> <span class="kwd">new<span class="pln"> <span class="typ">JSONObject<span class="pun">();<span class="pln">
jsonObj<span class="pun">.<span class="pln">put<span class="pun">(<span class="str">"username"<span class="pun">,<span class="pln"> username<span class="pun">);<span class="pln">
jsonObj<span class="pun">.<span class="pln">put<span class="pun">(<span class="str">"apikey"<span class="pun">,<span class="pln"> apikey<span class="pun">);<span class="pln">
<span class="com">// Create the POST object and add the parameters<span class="pln">
<span class="typ">HttpPost<span class="pln"> httpPost <span class="pun">=<span class="pln"> <span class="kwd">new<span class="pln"> <span class="typ">HttpPost<span class="pun">(<span class="pln">url<span class="pun">);<span class="pln">
<span class="typ">StringEntity<span class="pln"> entity <span class="pun">=<span class="pln"> <span class="kwd">new<span class="pln"> <span class="typ">StringEntity<span class="pun">(<span class="pln">jsonObj<span class="pun">.<span class="pln">toString<span class="pun">(),<span class="pln"> HTTP<span class="pun">.<span class="pln">UTF_8<span class="pun">);<span class="pln">
entity<span class="pun">.<span class="pln">setContentType<span class="pun">(<span class="str">"application/json"<span class="pun">);<span class="pln">
httpPost<span class="pun">.<span class="pln">setEntity<span class="pun">(<span class="pln">entity<span class="pun">);<span class="pln">
<span class="typ">HttpClient<span class="pln"> client <span class="pun">=<span class="pln"> <span class="kwd">new<span class="pln"> <span class="typ">DefaultHttpClient<span class="pun">();<span class="pln">
<span class="typ">HttpResponse<span class="pln"> response <span class="pun">=<span class="pln"> client<span class="pun">.<span class="pln">execute<span class="pun">(<span class="pln">httpPost<span class="pun">);</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></code>

 

用curl可执行如下命令:

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

 

用jQuery:

 

<code><span class="pln">$<span class="pun">.<span class="pln">ajax<span class="pun">({<span class="pln">
  url<span class="pun">:<span class="pln">url<span class="pun">,<span class="pln">
  type<span class="pun">:<span class="str">"POST"<span class="pun">,<span class="pln">
  data<span class="pun">:<span class="pln">data<span class="pun">,<span class="pln">
  contentType<span class="pun">:<span class="str">"application/json; charset=utf-8"<span class="pun">,<span class="pln">
  dataType<span class="pun">:<span class="str">"json"<span class="pun">,<span class="pln">
  success<span class="pun">:<span class="pln"> <span class="kwd">function<span class="pun">(){<span class="pln">
    <span class="pun">...<span class="pln">
  <span class="pun">}<span class="pln">
<span class="pun">})</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></code>

 

PHP用cUrl实现:

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

 

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/1053805.htmlTechArticle如何POST一个JSON格式的数据给Restful服务,jsonrestful 在Android/java平台上实现POST一个json数据: JSONObject jsonObj = new JSONObject (); jsonObj . put ( "use...
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn