First of all, remember that json_encode returns a string, and json_decode returns an object.
Determine if the data is not in JSON format :
function is_not_json($str){ return is_null(json_decode($str)); }
Determine whether the data is legal json data: (PHP version is greater than 5.3)
function is_json($string) { www.111cn.net json_decode($string); return (json_last_error() == JSON_ERROR_NONE); }
json_last_error() function returns what happened during the data encoding and decoding process Error.
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; }
Recommended tutorial:PHP Video tutorial
The above is the detailed content of PHP determines whether it is a json array. For more information, please follow other related articles on the PHP Chinese website!