Errori del parser durante l'analisi di JSON in PHP

Con la funzione json_last_error puoi scoprire esattamente quale errore si è verificato durante l'analisi del JSON. Diamo un'occhiata a come si fa. Supponiamo di avere un JSON non valido:

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

Proviamo ad analizzarlo:

php<?php
  $data = json_decode($json);
  var_dump($data); // restituirà null
?>

Poiché si è verificato un errore, json_last_error quando chiamata restituirà il codice di questo errore:

php<?php
  $error = json_last_error();
  var_dump($error); // codice errore
?>

Il codice restituito può essere confrontato con costanti speciali di PHP. Su questa base, puoi scrivere codice che catturi diversi tipi di errori:

php<?php
   switch (json_last_error()) {
    case JSON_ERROR_NONE:
      echo 'nessun errore';
    break;
    case JSON_ERROR_DEPTH:
      echo 'massima profondità dello stack raggiunta';
    break;
    case JSON_ERROR_STATE_MISMATCH:
      echo 'bit non validi o mancata corrispondenza della modalità';
    break;
    case JSON_ERROR_CTRL_CHAR:
      echo 'carattere di controllo non valido';
    break;
    case JSON_ERROR_SYNTAX:
      echo 'errore di sintassi, JSON non valido';
    break;
    case JSON_ERROR_UTF8:
      echo 'caratteri UTF-8 non validi, forse codificati in modo errato';
    break;
    default:
      echo 'errore sconosciuto';
    break;
  }
?>
Задание 1

Data una stringa con un certo JSON. Analizzala in una struttura dati PHP. Stampa il risultato dell'analisi o la causa dell'errore se l'analisi del JSON non è riuscita.