PHP method to determine whether it is in json format
First of all, remember that json_encode returns a string, and json_decode returns an object
Judge that the data is not in JSON format:
function is_not_json($str){ return is_null(json_decode($str)); }
Judge that the data is legal json data: (PHP version is greater than 5.3)
function is_json($string) { www.jb51.net json_decode($string); return (json_last_error() == JSON_ERROR_NONE); }
json_last_error() function returns the error that occurred during the data encoding and decoding process
Note: The string operated by json encoding and decoding must be UTF8
Example:
/** * 解析json串 * @param type $json_str * @return type */ function analyJson($json_str) { $json_str = str_replace('\\', '', $json_str); $out_arr = array(); preg_match('/{.*}/', $json_str, $out_arr); if (!empty($out_arr)) { $result = json_decode($out_arr[0], TRUE); } else { return FALSE; } return $result; }
If it is not json, return false.
Recommended tutorial: PHP video tutorial
The above is the detailed content of PHP detects whether it is json. For more information, please follow other related articles on the PHP Chinese website!