<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>
<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">
<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>