Parserfel vid tolkning av JSON i PHP

Med funktionen json_last_error kan du ta reda på vilket specifikt fel som uppstod vid parsning av JSON. Låt oss se hur detta görs. Låt oss säga att vi har en felaktig JSON:

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

Låt oss försöka tolka den:

php<?php
  $data = json_decode($json);
  var_dump($data); // kommer att visa null
?>

Eftersom ett fel uppstod kommer json_last_error när den anropas att ge numret på detta fel:

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

Det returnerade numret kan jämföras med speciella PHP-konstanter. Baserat på detta kan du skriva kod som fångar olika typer av fel:

php<?php
   switch (json_last_error()) {
    case JSON_ERROR_NONE:
      echo 'inga fel';
    break;
    case JSON_ERROR_DEPTH:
      echo 'maximal stackdjup har uppnåtts';
    break;
    case JSON_ERROR_STATE_MISMATCH:
      echo 'ogiltiga bitar eller mode mismatch';
    break;
    case JSON_ERROR_CTRL_CHAR:
      echo 'ogiltig kontrolltecken';
    break;
    case JSON_ERROR_SYNTAX:
      echo 'syntaxfel, ogiltig JSON';
    break;
    case JSON_ERROR_UTF8:
      echo 'ogiltiga UTF-8-tecken, möjligen felkodade';
    break;
    default:
      echo 'okänt fel';
    break;
  }
?>
Задание 1

Given en sträng med viss JSON. Tolka den till en PHP-datastruktur. Skriv ut resultatet av tolkningen eller orsaken till felet om tolkning av JSON misslyckades.