Памылкі парсера пры разборы JSON у PHP

З дапамогай функцыі json_last_error можна даведацца, якая менавіта памылка здарылася пры парсінгу JSON. Давайце паглядзім, як гэта робіцца. Хай у нас ёсць некарэктны JSON:

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

Давайце паспрабуем разабраць яго:

php<?php
  $data = json_decode($json);
  var_dump($data); // выведзе null
?>

Так як узнікала памылка, то json_last_error пры выкліку выдас нумар гэтай памылкі:

php<?php
  $error = json_last_error();
  var_dump($error); // нумар памылкі
?>

Вяртаемы нумар можна параўноўваць са спецыяльнымі канстантамі PHP. На аснове гэтага можна напісаць код, які лавіць розныя тыпы памылак:

php<?php
   switch (json_last_error()) {
    case JSON_ERROR_NONE:
      echo 'памылак няма';
    break;
    case JSON_ERROR_DEPTH:
      echo 'дасягнута максімальная глыбіня стэка';
    break;
    case JSON_ERROR_STATE_MISMATCH:
      echo 'некарэктныя разрабы або неадпаведнасць рэжымаў';
    break;
    case JSON_ERROR_CTRL_CHAR:
      echo 'некарэктны кіруючы сімвал';
    break;
    case JSON_ERROR_SYNTAX:
      echo 'сінтаксічная памылка, некарэктны JSON';
    break;
    case JSON_ERROR_UTF8:
      echo 'некарэктныя сімвалы UTF-8, магчыма няправільна закадаваны';
    break;
    default:
      echo 'невядомая памылка';
    break;
  }
?>
Задание 1

Дадзены радок з некаторым JSON. Разбярыце яго ў структуру даных PHP. Выведзіце вынік разбору або прычыну памылкі, калі разабраць JSON не ўдалося.