Erori de parser la analiza JSON în PHP

Cu ajutorul funcției json_last_error se poate afla ce eroare exact a avut loc la parsarea JSON. Să vedem cum se face asta. Să presupunem că avem un JSON incorect:

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

Să încercăm să-l analizăm:

php<?php
  $data = json_decode($json);
  var_dump($data); // va afișa null
?>

Deoarece a apărut o eroare, json_last_error la apel va returna numărul acestei erori:

php<?php
  $error = json_last_error();
  var_dump($error); // numărul erorii
?>

Numărul returnat poate fi comparat cu constante speciale PHP. Pe baza acestuia se poate scrie cod, care prinde diferite tipuri de erori:

php<?php
   switch (json_last_error()) {
    case JSON_ERROR_NONE:
      echo 'fără erori';
    break;
    case JSON_ERROR_DEPTH:
      echo 'a fost atinsă adâncimea maximă a stivei';
    break;
    case JSON_ERROR_STATE_MISMATCH:
      echo 'biți incorecți sau nepotrivire de mod';
    break;
    case JSON_ERROR_CTRL_CHAR:
      echo 'caracter de control incorect';
    break;
    case JSON_ERROR_SYNTAX:
      echo 'eroare de sintaxă, JSON incorect';
    break;
    case JSON_ERROR_UTF8:
      echo 'caractere UTF-8 incorecte, posibil codat incorect';
    break;
    default:
      echo 'eroare necunoscută';
    break;
  }
?>
Задание 1

Este dat un șir cu un JSON. Analizați-l într-o structură de date PHP. Afișați rezultatul analizei sau motivul erorii, dacă analiza JSON a eșuat.