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"]; ?>
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。
- 上一篇: PHP如何把数据写入JSON文件并在另一PHP文件读取JSON数据?
- 下一篇: PHP协程初体验