php解析http获取的json字符串变量总是空白null

本文介绍了解决通过HTTP接口获取的JSON字符串在PHP中使用json_decode解析时出现空白的问题。原因是接口返回的数据包含了BOM头,提供了三种解决方案,包括使用iconv转换编码、trim去除BOM头以及检查并移除字符串前的BOM头。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

通过http接口获取的json字符串使用json_decode始终无法正确解析,返回空白。

直接把结果字符串复制出来手动创建一个变量却正常,在前端js也能解析,搞了半天不得其解,借助强大的谷歌解决了问题,答案是接口吐出的结果包含有BOM头.

不说了,3中解决办法:

 1.

$result = @iconv("UTF-8","GBK//IGNORE",$result);
    $result = @iconv("GBK","UTF-8//IGNORE",$result);
    print_r(json_decode($result, true));

2.

$result = trim($result, "\xEF\xBB\xBF");
print_r(json_decode($result, true));
exit;
3.

if (substr($return, 0,3) == pack("CCC",0xef,0xbb,0xbf)) { 
    $return = substr($return, 3); 
}
$data = json_decode($return,true);











评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值