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

WBOY
풀어 주다: 2016-07-11 10:36:19
원래의
1390명이 탐색했습니다.

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>('json接口地址'); <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>
로그인 후 복사

 

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/1140692.htmlTechArticlephp读取json时无数据(为空)的解决方法,phpjson 在使用PHP调用一些json接口文件时 如果使用file_get_contents 获取页面json数据后 再使用json_decode(...
관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!