|
@@ -271,7 +271,7 @@ class JsonFile
|
|
public static function parseJson($json)
|
|
public static function parseJson($json)
|
|
{
|
|
{
|
|
$data = json_decode($json, true);
|
|
$data = json_decode($json, true);
|
|
- if (null === $data && 'null' !== $json) {
|
|
|
|
|
|
+ if (null === $data && json_last_error()) {
|
|
self::validateSyntax($json);
|
|
self::validateSyntax($json);
|
|
}
|
|
}
|
|
|
|
|
|
@@ -289,8 +289,11 @@ class JsonFile
|
|
{
|
|
{
|
|
$parser = new JsonParser();
|
|
$parser = new JsonParser();
|
|
$result = $parser->lint($json);
|
|
$result = $parser->lint($json);
|
|
-
|
|
|
|
if (null === $result) {
|
|
if (null === $result) {
|
|
|
|
+ if (defined('JSON_ERROR_UTF8') && json_last_error() === JSON_ERROR_UTF8) {
|
|
|
|
+ throw new \UnexpectedValueException('JSON file is not UTF-8 encoded');
|
|
|
|
+ }
|
|
|
|
+
|
|
return true;
|
|
return true;
|
|
}
|
|
}
|
|
|
|
|