• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

php读取json时无数据(为空)的解决方法,phpjson_PHP教程

php 搞代码 4年前 (2022-01-23) 23次浏览 已收录 0个评论
文章目录[隐藏]

php读取json时无数据(为空)的解决方法,phpjson


在使用PHP调用一些json接口文件时 如果使用 file_get_contents 获取页面json数据后

再使用json_decode()解析后 数据无法正常输出 这是的返回值为null

这是由于php的file_get_contents得到的数据前面有三个看不到的BOM字符,将php转码或设置头部编码为无BOM依旧无法解决

一种可行的办法就是:

<span><?php<br />$str</span> = <span>file_get_contents</span>('json接口地址'); <span>//</span><span>获取页面地址</span><span>$str</span> = <span>substr</span>(<span>$str</span>,3); <span>//</span><span>由于php问题file_get_contents得到的数据前面有三个看不到的BOM字符 使用substr函数提取第三个字符后的内容</span><span>$json</span> = json_decode(<span>$str</span>, <span>true</span>);<span>//</span><span>解析json代码 返回为 array 值</span><span>echo</span> <span>$json</span>['motd'];<span>//</span><span>以array 输出json中的 motd 数组</span>

另外一种:

<?<span>php</span><span>$str</span> = <span>file_get_contents</span>('js<i style="color:transparent">本#文来源gaodai$ma#com搞$$代**码网$</i><button>搞代gaodaima码</button>on接口地址'); <span>//</span><span>获取页面地址</span><span>$json</span> = json_decode(<span>trim</span>(<span>$str</span>,<span>chr</span>(239).<span>chr</span>(187).<span>chr</span>(191)),<span>true</span>); <span>//</span><span>chr(239).chr(187).chr(191)在输出时 组成了utf8文件的bom头,之后用trim函数将其移除</span><span>print_r</span>(<span>$json</span>); <span>//</span><span>以array 输出json</span>

http://www.bkjia.com/PHPjc/1140692.htmlhttp://www.bkjia.comtruehttp://www.bkjia.com/PHPjc/1140692.htmlTechArticlephp读取json时无数据(为空)的解决方法,phpjson 在使用PHP调用一些json接口文件时 如果使用file_get_contents 获取页面json数据后 再使用json_decode(…


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:php读取json时无数据(为空)的解决方法,phpjson_PHP教程
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址