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

<?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'];

?>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值