根据网上一堆人说的 json_last_error()
,可以判断 json_decode
后的结果
我也没多想,试了一下:
json_decode('123');
var_dump(json_last_error());
然后去 json_last_error() === JSON_ERROR_NONE
,返回的是 true
?
那还怎么比较…
写了一个大家可参考:
/**
* 判断字符串是否为 Json 格式
*
* @param string $data Json 字符串
* @param bool $assoc 是否返回关联数组。默认返回对象
*
* @return array|bool|object 成功返回转换后的对象或数组,失败返回 false
*/
function isJson($data = '', $assoc = false) {
$data = json_decode($data, $assoc);
if (($data && is_object($data)) || (is_array($data) && !empty($data))) {
return $data;
}
return false;
}