Gabimet e parserit gjatë analizimit të JSON në PHP

Duke përdorur funksionin json_last_error mund të zbuloni se çfarë gabimi ndodhi gjatë analizimit të JSON. Le të shohim se si bëhet kjo. Le të themi se kemi JSON të pasaktë:

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

Le të përpiqemi ta analizojmë atë:

php<?php
  $data = json_decode($json);
  var_dump($data); // do të nxjerrë null
?>

Meqë ka ndodhur një gabim, json_last_error gjatë thirrjes do të japë numrin e atij gabimi:

php<?php
  $error = json_last_error();
  var_dump($error); // numri i gabimit
?>

Numri i kthyer mund të krahasohet me konstantet speciale të PHP. Bazuar në këtë, mund të shkruani kod që kap lloje të ndryshme gabimesh:

php<?php
   switch (json_last_error()) {
    case JSON_ERROR_NONE:
      echo 'nuk ka gabime';
    break;
    case JSON_ERROR_DEPTH:
      echo 'është arritur thellësia maksimale e stivit';
    break;
    case JSON_ERROR_STATE_MISMATCH:
      echo 'bite të pasakta ose mospërputhje e mënyrave';
    break;
    case JSON_ERROR_CTRL_CHAR:
      echo 'karakter kontrolli i pasaktë';
    break;
    case JSON_ERROR_SYNTAX:
      echo 'gabim sintaksor, JSON i pasaktë';
    break;
    case JSON_ERROR_UTF8:
      echo 'karaktere të pasakta UTF-8, ndoshta i koduar gabimisht';
    break;
    default:
      echo 'gabim i panjohur';
    break;
  }
?>
Задание 1

Jepet një varg me një JSON. Analizoni atë në një strukturë të dhënash PHP. Nxjerrni rezultatin e analizimit ose arsyen e gabimit nëse analizimi i JSON dështoi.