>백엔드 개발 >PHP 튜토리얼 >json_decode为空问题

json_decode为空问题

PHPz
PHPz앞으로
2016-06-13 10:30:562074검색

<span style="font-family: 微软雅黑,Microsoft YaHei;">在error_log日志中打出 json_last_error() 和 json_last_error_msg()</span>

<span style="font-family: 微软雅黑,Microsoft YaHei;">发现 4 和 'Syntax error'</span><span style="font-family: 微软雅黑,Microsoft YaHei;"><br></span>

<span style="font-family: 微软雅黑,Microsoft YaHei;">可以用base64_encode记录下要解的$response数据  然后在本地base64_decode出来 </span><code><span style="font-family: 微软雅黑,Microsoft YaHei;">再进行json_decode</span>  查为什么不能解开<br>

<span style="font-family: 微软雅黑,Microsoft YaHei;">测试了</span>

<code class="Brush variable"><span style="font-family: 微软雅黑,Microsoft YaHei;">$json</span> <code class="Brush plain"><span style="font-family: 微软雅黑,Microsoft YaHei;">= iconv(</span><span style="font-family: 微软雅黑,Microsoft YaHei;">'GBK'</span><code class="Brush plain"><span style="font-family: 微软雅黑,Microsoft YaHei;">,</span><span style="font-family: 微软雅黑,Microsoft YaHei;">'utf-8'</span><code class="Brush plain"><span style="font-family: 微软雅黑,Microsoft YaHei;">,</span><code class="Brush variable"><span style="font-family: 微软雅黑,Microsoft YaHei;">$json</span><code class="Brush plain"><span style="font-family: 微软雅黑,Microsoft YaHei;">);</span>

<code class="Brush plain">$json = stripslashes($json);<br>

<code class="Brush plain"><span style="font-family: 微软雅黑,Microsoft YaHei;">$json = htmlspecialchars_decode($json);</span>

<span style="font-family: 微软雅黑,Microsoft YaHei;">等多种方法 都不行 </span><br>

<span style="font-family: 微软雅黑,Microsoft YaHei;">最后发现返回的response数据有bom头字符</span><br>

$response = trim($response,chr(239).chr(187).chr(191));<br>$response = json_decode($response, true);<br>

<span style="font-family: 微软雅黑,Microsoft YaHei;">这样正常解开了</span><br>

<code><span style="font-family: 微软雅黑,Microsoft YaHei;">base64_decode出来</span>的json数据有没有bom头字符 除了网上说的其它方法  也可以放到json在线编辑器中查看<br>

附:<br>

json_decode要求的字符串比较严格:<br>(1)使用UTF-8编码<br>(2)不能在最后元素有逗号<br>(3)不能使用单引号<br>(4)不能有\r,\t,如果有请替换

更多相关教程请访问 php编程从入门到精通全套视频教程<br>

성명:
이 기사는 csdn.net에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제