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-ը։