淘宝API返回的json数据无法用json_decode的问题
如题,这个问题困扰我已久。。。经过自己的多次尝试,和到网上搜索,我已大概猜测到是字符的问题,论坛上的朋友说,PHP的json_decode对json数据要求非常严格,必须是{“key”:”value”}的双引号包围才行,而且,对一些特殊符号不兼容。。。例如UTF-8的 BOM头,或者是C 字符的结束符 等等。。。
经过排查,我发现。。。淘宝API返回的json数据(特别是taobao.taobaoke.items.detail.get),之所以json_decode后,结果为null,原因就是返回的数据含有回车符。。。这可能是一些店主在装修时,或者填写店铺描述,商品描述不规范所留下的。。。所以用
<table width="620" align="center" border="0" cellpadding="1" cellspacing="1" style="background:#FB7"> <tr> <td width="464" height="27" bgcolor="#FFE7CE"> 代码如下</td> <td width="109" align="center" bgcolor="#FFE7CE" style="cursor:pointer;" onclick="doCopy('copy5133')">复制代码</td> </tr> <tr> <td height="auto" colspan="2" valign="top" bgcolor="#FFFFFF" style="padding:10px;" class="copyclass" id=copy5133>$json = str_replace(array(“rn”,”n”,”r”,”t”,chr(9),\n),”,$json );
$json = json_decode($json,true);
这样就可以解决这个问题了。
您可能感兴趣的文章:
淘宝API返回的json数据无法用json_decode的问题
json_decode返回null空问题解决方法
淘宝天猫账号无法登陆是什么原因 淘宝网站突然出现故障原因分析
淘宝IP地址库API接口 (PHP)通过ip获取地址信息
php如何将json文本转换成数组
淘宝支付无法使用信用卡什么原因,怎么办?
php有道翻译api调用方法
PHP怎么把JSON转换成数组?
PHP淘宝IP数据获取用户IP及地理位置
PHP接收post数据并解析json的简单实例