Parserfouten bij het ontleden van JSON in PHP

Met de functie json_last_error kun je achterhalen welke specifieke fout er is opgetreden bij het ontleden van JSON. Laten we eens kijken hoe dit werkt. Stel we hebben ongeldige JSON:

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

Laten we proberen deze te ontleden:

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

Omdat er een fout optrad, zal json_last_error bij aanroep het nummer van deze fout teruggeven:

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

Het teruggegeven nummer kan vergeleken worden met speciale PHP-constanten. Op basis hiervan kan code geschreven worden die verschillende soorten fouten opvangt:

php<?php
   switch (json_last_error()) {
    case JSON_ERROR_NONE:
      echo 'geen fouten';
    break;
    case JSON_ERROR_DEPTH:
      echo 'maximale stackdiepte bereikt';
    break;
    case JSON_ERROR_STATE_MISMATCH:
      echo 'ongeldige bits of modus mismatch';
    break;
    case JSON_ERROR_CTRL_CHAR:
      echo 'ongeldig controlekarakter';
    break;
    case JSON_ERROR_SYNTAX:
      echo 'syntactische fout, ongeldige JSON';
    break;
    case JSON_ERROR_UTF8:
      echo 'ongeldige UTF-8 karakters, mogelijk verkeerd gecodeerd';
    break;
    default:
      echo 'onbekende fout';
    break;
  }
?>
Задание 1

Gegeven een string met een bepaalde JSON. Ontleed deze naar een PHP-datastructuur. Toon het resultaat van de ontleding of de reden van de fout, als het ontleden van de JSON niet lukte.