PHP json_decode获取的值为NULL空,该如何解决
- $locationarr =array();
- $city = $Request->ccity;
- $location = file_get_contents(‘city.json’);
- $locationarr = json_decode($location,true);
- dump($locationarr);
复制代码
以上代码执行后,返回结果为NULL空值。
顺带说明一下json_decode的使用方法:
json_decode($str,true):返回数组,FALSE 时返回对象(不填写默认为false)
常见的几种原因:
解析的json只能是UTF-8编码;
元素的最后不能有逗号(json数据使用,分割数据,最后不能存在逗号);
元素不能使用单引号(全部是同双引号);
元素值中间不能存在空格和换行间隔符等,必须替换;
如果是json_decode($str,true)json转数组,需要注意一下格式是否正确;
小编遇到的就是第二个问题,如下图所示,最后一组数据后面加了逗号,取消逗号后就正常输出数组了。
- {
- “重庆”:”101040100″,
- “北京”:”101010100″,
- “海淀”:”101010200″,
- }
复制代码