首页 >后端开发 >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>  查为什么不能解开<code><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 variable"><code class="Brush plain"><span style="font-family: 微软雅黑,Microsoft YaHei;">,</span>$json<span style="font-family: 微软雅黑,Microsoft YaHei;">'utf-8'</span><code class="Brush plain"><span style="font-family: 微软雅黑,Microsoft YaHei;">,</span> <code class="Brush plain"><code class="Brush variable"><span style="font-family: 微软雅黑,Microsoft YaHei;">$json</span>= iconv(<code class="Brush plain"><span style="font-family: 微软雅黑,Microsoft YaHei;">);</span>

'GBK'

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

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

,

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

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

$response = trim($response,chr(239).chr(187).chr(191));<br>$response = json_decode($response, true);<code><br><code><code class="Brush plain">

$json = stripslashes($json);

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

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

<code><br>等多种方法 都不行

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

更多相关教程请访问 php编程从入门到精通全套视频教程<br>最后发现返回的response数据有bom头字符

<code>$response = trim($response,chr(239).chr(187).chr(191));$response = json_decode($response, true);<code><code>这样正常解开了<code><code><code>base64_decode出来的json数据有没有bom头字符 除了网上说的其它方法  也可以放到json在线编辑器中查看附:<code><strong>json_decode要求的字符串比较严格:</strong>(1)使用UTF-8编码(2)不能在最后元素有逗号(3)不能使用单引号(4)不能有r,t,如果有请替换<code>更多相关教程请访问 <a style="font-family: 微软雅黑,Microsoft YaHei; text-decoration: underline;" href="http://www.php.cn/course/list/29.html" target="_blank">php编程从入门到精通全套视频教程</a>
声明:
本文转载于:csdn.net。如有侵权,请联系admin@php.cn删除