php判断字符串是否json格式
问题
如果使用JSON_ERROR_NONE来判断,不是很准确,如将数字123当字符decode处理:
json_decode('123');
var_dump(json_last_error());
json_last_error()
===JSON_ERROR_NONE
返回的是true
请参阅以下函数:
/**
* 判断字符串是否可转化为json
* @param $str
* @return bool
*/
function isJson($str)
{
$data = json_decode($str);
//if (($data and is_object($data)) or (is_array($data) and !empty($data))){
if ($data and is_object($data)){
return true;
}
return false;
}