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-ის პარსინგი ვერ მოხერხდა.