最近帮同事测试一个json数据的时候,使用php的json_decode函数来解析json字符串,然后怎么打印也不出来数据,显示为空,使用var_dump打印会显示出NULL,由于php好久没有折腾了,搞了半天没有找到解决办法,最终搜索到这篇文章,很简单的解决了问题,分享给大家。
php中使用json_decode 显示NULL,的原因就是因为json_decode的数据不是严格意义上的UTF-8的编码。
所以需要手动修改转码即可!
使用php的file_get_contents获取API的json数据,在json_decode前使用:
$json = iconv('GBK','utf-8', $json);转码,然后再使用json_decode(来转码):
$new_Arr = json_decode($json, true);最后使用var_dump打印出来看看,是不是有数据了?
原文地址: