php处理json数据(从服务器获取,post提交)

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_16558621/article/details/50767413
<?php
/*
  author yangkaka
  2016-02-29
  php通过post发送json数据
 */
 function http_post_json($url,$jsonstr){
	 //init
	 $ch=curl_init();
	 curl_setopt($ch,CURLOPT_POST,1);
	 curl_setopt($ch,CURLOPT_URL,$url);
	 curl_setopt($ch,CURLOPT_POSTFIELDS,$jsonstr);
	 curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
	 curl_setopt($ch,CURLOPT_TIMEOUT,10);
	 curl_setopt($ch,CURLOPT_HTTPHEADER,array(
	 'Content_Type:application/json;charset=utf-8',
	 'Content_Length:'.strlen($jsonstr)));
	 //exec
	 $resp=curl_exec($ch);
	 $httpcode=curl_getinfo($ch,CURLINFO_HTTP_CODE);
	 //close
	 curl_close($ch);
	 return array($httpcode,$resp);
 } 
 //post提交的地址
 $url='http://my.blog.com';
 //json_encode()函数 将生成一个json编码
 /*
 {
	 "a":"1",
	 "b":"2"
 } 
 */
 $jsonstr=json_encode(array('a'=>1,'b'=>2));
 list($returncode,$returncontent)=http_post_json($url,$jsonstr);
 echo $returncode
 echo $returncontent
?>


/*
	php从服务器获得json数据
*/
<?php
   header("Content_type:text/html;charset=utf-8");
   header('Content-type: application/json');
   function Geturl($url){
	   $ch=curl_init();
	   curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
	   curl_setopt($ch,CURLOPT_URL,$url);
	   curl_setopt($ch,CURLOPT_USERAGENT,$_SERVER['HTTP_USER_AGENT']);
	   $resp=curl_exec($ch);
	   curl_close($curl);
	   return $resp;
   }
   
   $resp=Geturl("http://.....");//能获取json数据的接口
   
   //json_decode()函数生成一个数组
   //用数组处理的方法就可以
   //就可以处理数据
   /*array(["a"]=>int(1)
   ["b"]=>int(2)) */
   $resp=json_decode($resp,true);
   var_dump($resp);
   echo $resp['a'];

?>

展开阅读全文

没有更多推荐了,返回首页