Erreurs de l'analyseur lors de l'analyse JSON en PHP

Avec la fonction json_last_error on peut savoir exactement quelle erreur s'est produite lors de l'analyse JSON. Voyons comment cela se fait. Supposons que nous ayons un JSON incorrect :

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

Essayons de l'analyser :

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

Puisqu'une erreur s'est produite, json_last_error lors de son appel renverra le numéro de cette erreur :

php<?php
  $error = json_last_error();
  var_dump($error); // numéro de l'erreur
?>

Le numéro renvoyé peut être comparé avec des constantes spéciales de PHP. Sur cette base, on peut écrire un code capturant différents types d'erreurs :

php<?php
   switch (json_last_error()) {
    case JSON_ERROR_NONE:
      echo 'aucune erreur';
    break;
    case JSON_ERROR_DEPTH:
      echo 'profondeur maximale de la pile atteinte';
    break;
    case JSON_ERROR_STATE_MISMATCH:
      echo 'bits incorrects ou non-correspondance des modes';
    break;
    case JSON_ERROR_CTRL_CHAR:
      echo 'caractère de contrôle incorrect';
    break;
    case JSON_ERROR_SYNTAX:
      echo 'erreur de syntaxe, JSON incorrect';
    break;
    case JSON_ERROR_UTF8:
      echo 'caractères UTF-8 incorrects, peut-être mal encodé';
    break;
    default:
      echo 'erreur inconnue';
    break;
  }
?>
Задание 1

Une chaîne avec un JSON est donnée. Analysez-le en une structure de données PHP. Affichez le résultat de l'analyse ou la raison de l'erreur si l'analyse du JSON a échoué.