Erros do analisador sintático ao analisar JSON em PHP

Com a função json_last_error pode-se descobrir exatamente qual erro ocorreu durante a análise do JSON. Vamos ver como isso é feito. Suponha que temos um JSON inválido:

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

Vamos tentar analisá-lo:

php<?php
  $data = json_decode($json);
  var_dump($data); // retornará null
?>

Como ocorreu um erro, json_last_error ao ser chamada retornará o número desse erro:

php<?php
  $error = json_last_error();
  var_dump($error); // número do erro
?>

O número retornado pode ser comparado com constantes especiais do PHP. Com base nisso, pode-se escrever um código que captura diferentes tipos de erros:

php<?php
   switch (json_last_error()) {
    case JSON_ERROR_NONE:
      echo 'sem erros';
    break;
    case JSON_ERROR_DEPTH:
      echo 'profundidade máxima da pilha atingida';
    break;
    case JSON_ERROR_STATE_MISMATCH:
      echo 'modo inválido ou incompatibilidade de modos';
    break;
    case JSON_ERROR_CTRL_CHAR:
      echo 'caractere de controle inválido';
    break;
    case JSON_ERROR_SYNTAX:
      echo 'erro de sintaxe, JSON inválido';
    break;
    case JSON_ERROR_UTF8:
      echo 'caracteres UTF-8 inválidos, possivelmente codificados incorretamente';
    break;
    default:
      echo 'erro desconhecido';
    break;
  }
?>
Задание 1

Dada uma string com um determinado JSON. Analise-a em uma estrutura de dados PHP. Exiba o resultado da análise ou a razão do erro, se a análise do JSON falhar.