diff --git a/src/utils/utils.php b/src/utils/utils.php --- a/src/utils/utils.php +++ b/src/utils/utils.php @@ -1057,11 +1057,13 @@ * failed to decode. */ function phutil_json_decode($string, $default = array()) { - $result = @json_decode($string, true); - if (!is_array($result)) { + $parser = new PhutilJSONParser(); + + try { + return $parser->parse($string); + } catch (PhutilJSONParserException $ex) { return $default; } - return $result; }