Parser Errors When Parsing JSON in PHP

Using the json_last_error function, you can find out exactly which error occurred during JSON parsing. Let's see how this is done. Suppose we have invalid JSON:

php<?php
  $json = '["a", "b", "c",]';
?>

Let's try to parse it:

php<?php
  $data = json_decode($json);
  var_dump($data); // will output null
?>

Since an error occurred, json_last_error when called will return the number of this error:

php<?php
  $error = json_last_error();
  var_dump($error); // error number
?>

The returned number can be compared with special PHP constants. Based on this, you can write code that catches various types of errors:

php<?php
   switch (json_last_error()) {
    case JSON_ERROR_NONE:
      echo 'No errors';
    break;
    case JSON_ERROR_DEPTH:
      echo 'Maximum stack depth reached';
    break;
    case JSON_ERROR_STATE_MISMATCH:
      echo 'Incorrect bits or mode mismatch';
    break;
    case JSON_ERROR_CTRL_CHAR:
      echo 'Invalid control character';
    break;
    case JSON_ERROR_SYNTAX:
      echo 'Syntax error, malformed JSON';
    break;
    case JSON_ERROR_UTF8:
      echo 'Malformed UTF-8 characters, possibly incorrectly encoded';
    break;
    default:
      echo 'Unknown error';
    break;
  }
?>
Задание 1

A string with some JSON is given. Parse it into a PHP data structure. Output the parsing result or the reason for the error if parsing the JSON failed.