Ralat Parser semasa Menguraikan JSON dalam PHP

Dengan menggunakan fungsi json_last_error kita boleh mengetahui ralat yang tepat berlaku semasa menguraikan JSON. Mari kita lihat bagaimana ini dilakukan. Katakan kita mempunyai JSON yang tidak betul:

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

Mari cuba uraikannya:

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

Oleh kerana berlakunya ralat, json_last_error apabila dipanggil akan mengembalikan nombor ralat tersebut:

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

Nombor yang dikembalikan boleh dibandingkan dengan pemalar khas PHP. Berdasarkan ini, kita boleh menulis kod yang menangkap pelbagai jenis ralat:

php<?php
   switch (json_last_error()) {
    case JSON_ERROR_NONE:
      echo 'tiada ralat';
    break;
    case JSON_ERROR_DEPTH:
      echo 'kedalaman maksimum timbunan dicapai';
    break;
    case JSON_ERROR_STATE_MISMATCH:
      echo 'bit tidak betul atau ketidaksesuaian mod';
    break;
    case JSON_ERROR_CTRL_CHAR:
      echo 'aksara kawalan tidak betul';
    break;
    case JSON_ERROR_SYNTAX:
      echo 'ralat sintaks, JSON tidak betul';
    break;
    case JSON_ERROR_UTF8:
      echo 'aksara UTF-8 tidak betul, mungkin dikodkan secara tidak betul';
    break;
    default:
      echo 'ralat tidak diketahui';
    break;
  }
?>
Задание 1

Diberi rentetan dengan JSON tertentu. Uraikannya kepada struktur data PHP. Paparkan hasil uraian atau sebab ralat, jika penguraian JSON gagal.