Para mis proyectos que utilizo esta función (consulte la sección "Nota " en los documentos json_decode()).
Pasando los mismos argumentos que pasaría a json_decode() se puede detectar "errores" específicos de la aplicación (por ejemplo, errores de profundidad)
Con PHP> = 5,6
// PHP >= 5.6
function is_JSON(...$args) {
json_decode(...$args);
return (json_last_error()===JSON_ERROR_NONE);
}
Con PHP> = 5,3
// PHP >= 5.3
function is_JSON() {
call_user_func_array('json_decode',func_get_args());
return (json_last_error()===JSON_ERROR_NONE);
}
ejemplo de uso:
$mystring = '{"param":"value"}';
if (is_JSON($mystring)) {
echo "Valid JSON string";
} else {
$error = json_last_error_msg();
echo "Not valid JSON string ($error)";
}
Disparar; Tenía una solución a prueba de balas a mano, pero no era muy robusta, así que tuve que descartarla: P –