php解析http获取的json字符串变量总是空白null
这篇文章主要分享了一个关于PHPHTTP获取的JSON字符串出现空白或null的解决方法,这是我在工作中遇到并成功解决的一个问题。
今天,我们的项目团队遭遇了一个棘手的问题。我们通过HTTP接口获取的JSON字符串,在使用PHP的json_decode函数进行时,始终无法正确获取数据,返回的结果总是空白。我们尝试将结果字符串直接复制出来,手动创建一个变量进行,却发现一切正常。前端JavaScript也能正常这个字符串。这让我们陷入了困惑。
我们尝试寻找问题的解决方案,最终借助谷歌的力量找到了问题的根源。原来,接口返回的结果字符串中包含了一个BOM头。BOM头在PHP中就像一个克星,导致了json_decode函数无法正确。
现在,我来分享一下解决这个问题的方法。我们需要检查获取的字符串是否包含BOM头,如果包含,就将其去除。然后,我们就可以使用json_decode函数正常字符串了。下面是相关的代码:
```php
if (substr($returnString, 0, 3) == pack("CCC", 0xef, 0xbb, 0xbf)) {
$returnString = substr($returnString, 3);
}
$data = json_decode($returnString, true);
```
这段代码首先检查字符串的前三个字符是否是BOM头的标识(EF BB BF),如果是,就截取掉这部分内容。然后,使用json_decode函数对处理过的字符串进行。
这个问题和解决方法可能对正在使用PHPJSON字符串的朋友们有所帮助。如果你遇到了类似的问题,可以尝试使用上述方法解决。在这里分享给大家,希望能对你们有所帮助。提醒大家注意处理从接口获取的字符串时,要注意检查和处理可能出现的BOM头。
编程语言
- php解析http获取的json字符串变量总是空白null
- 关于shopex同步ucenter的redirect问题,导致script不运行
- mysql5.7.14解压版的安装图文教程
- SQL 比较一个集合是否在另一个集合里存在的方法
- ThinkPHP简单使用memcache缓存的方法
- asp实现批量插入表单中的数据到数据库的方法
- PHP 正则表达式验证中文的问题
- JavaScript中反正弦函数Math.asin()的使用简介
- js实时获取窗口大小变化的实例代码
- js实现跨域的几种方法汇总(图片ping、JSONP和CO
- Jquery uploadify 多余的Get请求(404错误)的解决方法
- mysql 5.6.37(zip)下载安装配置图文教程
- JavaScript实现打字效果的方法
- 讲解JavaScript中for...in语句的使用方法
- dedecms函数分享之获取某一栏目所有子栏目
- sum(case when then)(判断男女生的个数)