php try json decode
/** Checks if JSON and returns decoded as an array, if not, returns false,
but you can pass the second parameter true, if you need to return
a string in case it's not JSON */
function tryJsonDecode($string, $returnString = false) {
$arr = json_decode($string);
if (json_last_error() === JSON_ERROR_NONE) {
return $arr;
} else {
return ($returnString) ? $string : false;
}
}