Heim > php教程 > php手册 > Hauptteil

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

WBOY
Freigeben: 2016-06-13 08:54:33
Original
867 Leute haben es durchsucht

如何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>
Nach dem Login kopieren

 

用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>
Nach dem Login kopieren

 

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>);
Nach dem Login kopieren

 

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Empfehlungen
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!