php接口json
1. php获得api返回的json数据后,如何解析
首先你需要使用对方约定方式获取,然后考虑是否使用缓存,最后获取到数据后使用json_decode函数解析成数组格式,接下来就是自己的逻辑代码了。
2. 如何用php调用外部接口json数据
两种比较简单的方法:
1、使用curl
$url="http://www.xxxxxxxxxx.com/";
$ch=curl_init();
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch,CURLOPT_TIMEOUT,30);
$output=curl_exec($ch);
curl_close($ch);
echo$output;
2、使用file_get_contents
$output=file_get_contents($url);
echo$output;
3 、使用socket 也是可以的
3. php 怎样写一个接口json数据
<?php
header("Content-type: text/json; charset=utf-8");
$arr = array(
array('id'=>1,'name'=>'aaaa'),
array('id'=>2,'name'=>'bbbb')
);
echo json_encode($arr);
?>
4. json数据接口,用php语言写。
可以啊,$json = file_get_contents('php://input');接受数据$file_arr = json_decode($json,true);出来$file_arr就是个数组 验证你要验证的东西最后返回数据,制定一个规则 echo json_encode($data);
5. php 输出json及显示json中的中文汉字详解及实例
php
输出json及显示json中的中文汉字
在php中,我们经常需要将数组输出json,只需要使用json_encode函数处理一下数组即可,但有的时候数组里面有中文,使用json_encode函数处理后中文字符被编码成了Unicode,如何才能在json中显示中文呢?请看下文。
首先介绍一下php输出json格式:
一种最简单的用法,就是把数组直接输出为json,如下:
<?php
$arr
=
array('p1'=>'ni"hao','p2'=>2,'ch'=>'码农你好!');
$json
=
json_encode($arr);
echo
$json;
?>
输出的结果为:
{"p1":"ni\"hao","p2":2,"ch":"\u7801\u519c\u4f60\u597d\uff01"}
这里要注意:
双引号在json中会被自动编码为\",这个很好理解,js中字符串中是不允许出来单引号、双引号和反斜杠的。
中文字符被编码成了Unicode
如果是写接口,那直接这样输出就够了,中文无需去做处理。等到了客户端,再去把Unicode的中文转成汉字即可。但如果要在服务器端直接输出汉字出来,那我们可以做如下处理。
<?php
$arr
=
array('p1'=>'nihao','p2'=>2,'ch'=>'码农你好!');
$json
=
json_encode($arr);
echo
decodeUnicode($json);
function
decodeUnicode($str){
return
preg_replace_callback('/\\\\u([0-9a-f]{4})/i',
create_function(
'$matches',
'return
mb_convert_encoding(pack("H*",
$matches[1]),
"UTF-8",
"UCS-2BE");'
),
$str);
}
?>
输出:
{"p1":"ni\"hao","p2":2,"ch":"码农你好!"}
这个操作很简单,其实就是把输出结果匹配一下,把Unicode还原成了汉字。
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
6. php json数据接口一般用什么写
1. 比如是否分块 比如是否分块(chunked)。... 2. 开始标志 chunked开始标志...实体 3. 和是否愿意接收块 TE请求头域指明客户端可以接受哪些传输编码(transfer-coding)的响应,和是否愿意接收块(chunked)传输编码响应的尾部(trailer)
7. php怎么接收json类型数据
<?php
$str='{"sign":true,"message":"实时接口","data":[{"title":"北京快3","name":"bjk3","expect":"145130","opencode":"4,5,6","opentime":"2019-11-21 20:22:45","source":"sourcecode":""}]}';
$json=json_decode($str,false);
echo $json['data'][0]['expect'];
echo $json['data'][0]['opencode'];
echo $json['data'][0]['opentime'];
?>
8. php怎么接收json数据格式
PHP接收JSON格式的数据
在API服务中,目前流行采用json形式来交互。
给前端调用的接口输出Json数据,这个比较简单,只需要组织好数据,用json_encode($array) 转化一下,前端就得到json格式的数据。
接收前端提交的json数据稍微复杂一点,原因是:PHP默认识别的数据类型是application/x-www.form-urlencoded标准的数据类型。因此,对型如text/xml 或者 soap 或者 application/octet-stream 和application/json格式之类的内容无法解析,如果用$_POST数组来接收就会失败!
此时可以使用$GLOBALS['HTTP_RAW_POST_DATA'] 或 file_get_contents('php://input') 来获取提交的数据
查看手册,可以发现$GLOBALS['HTTP_RAW_POST_DATA'] 和 $_POST的区别:
$_POST:通过 HTTP POST 方法传递的变量组成的数组,是自动全局变量。
$GLOBALS['HTTP_RAW_POST_DATA'] :总是产生 $HTTP_RAW_POST_DATA 变量包含有原始的 POST 数据。此变量仅在碰到未识别 MIME 类型的数据时产生。$HTTP_RAW_POST_DATA 对于 enctype="multipart/form-data" 表单数据不可用。也就是说基本上$GLOBALS['HTTP_RAW_POST_DATA'] 和 $_POST是一样的。但是如果post过来的数据不是PHP能够识别的,你可以用 $GLOBALS['HTTP_RAW_POST_DATA']来接收,比如 text/xml 或者 soap 等等。
9. php接口怎么处理json数据
json_decode,吧json数据变成数组,json_encode,吧数组变成json数据