php url链接地址传数组方法 json_decode解析数组失败 经过url链接的json数组解析出错的解决方法 (原)...

先说出现的问题:

请求一个接口(例如  http://www.a.com/getmes.php)需要传一个数组参数 param ,值为 数组 array(0=>'刘师傅',1=>'17600385909')

刚开始我写的直接json_encode()后放url后面,如下

//请求方法示例代码:
$url = 'http://www.a.com/getmes.php?t=1';
$param = array(0=>'刘师傅',1=>'17600385909');
$url = $url.'&param='.json_encode($param);
$this->curl_get($url);

//接口地址获取数据代码
$param = $_GET['param'];
$mes = json_decode($param,true);
print_r($mes);

接口地址代码始终打印不出来接收到的param数组

==================================解决方法====================================================

==================================解决方法====================================================

1.数组直接分开写,就不存在要json的情况了

//请求方法示例代码:
$url = 'http://www.a.com/getmes.php?t=1';
$param = array(0=>'刘师傅',1=>'17600385909');
for ($i=0; $i < count($param); $i++) { 
       $url .= '&param[]='.$param[$i];
}
$this->curl_get($url);

//接口地址获取数据代码
$parm = $_GET['param'];
$mes = json_decode($param);
print_r($mes);

2.就是解决为什么json_decode出错的问题.

  因为json_encode数组的时候默认会将数组里面加''\''转义符,也就是他的存在,json数据被当成了string字符串,所以才导致json_decode失败. 解决办法就是接收到json数据后,先去掉转义符"\"再json_decode

 

//请求方法示例代码:
$url = 'http://www.a.com/getmes.php?t=1';
$param = array(0=>'刘师傅',1=>'17600385909');
$url = $url.'&param='.json_encode($param);
$this->curl_get($url);

//接口地址获取数据代码
$parm = $_GET['param'];
$mes = json_decode(stripslashes($param),true);
print_r($mes);

 

转载于:https://www.cnblogs.com/gyrgyr/p/9046694.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值