PHP 判断字符串是否为 Json 格式

版权声明:Max Sky 原创文章,转载时请保留所有权并以超链接形式标明文章出处。否则将追究相关法律责任。 https://blog.csdn.net/maxsky/article/details/80542839

哎,现在的网上瞎 J8 扯的人真是太多了,全 TM 一片抄!

网上一堆人说的 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 bool|array 成功返回转换后的对象或数组,失败返回 false
 */
function isJson($data = '', $assoc = false) {
    $data = json_decode($data, $assoc);
    if ($data && (is_object($data)) || (is_array($data) && !empty(current($data)))) {
        return $data;
    }
    return false;
}

猜你喜欢

转载自blog.csdn.net/maxsky/article/details/80542839