Kesalahan Parser saat Parsing JSON di PHP

Dengan menggunakan fungsi json_last_error kita dapat mengetahui kesalahan apa yang terjadi saat parsing JSON. Mari kita lihat bagaimana cara melakukannya. Misalkan kita memiliki JSON yang tidak benar:

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

Mari kita coba untuk menguraikannya:

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

Karena terjadi kesalahan, maka json_last_error saat dipanggil akan mengembalikan nomor kesalahan tersebut:

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

Nomor yang dikembalikan dapat dibandingkan dengan konstanta khusus PHP. Berdasarkan hal ini, kita dapat menulis kode yang menangkap berbagai jenis kesalahan:

php<?php
   switch (json_last_error()) {
    case JSON_ERROR_NONE:
      echo 'tidak ada kesalahan';
    break;
    case JSON_ERROR_DEPTH:
      echo 'kedalaman maksimum stack tercapai';
    break;
    case JSON_ERROR_STATE_MISMATCH:
      echo 'bit tidak valid atau ketidakcocokan mode';
    break;
    case JSON_ERROR_CTRL_CHAR:
      echo 'karakter kontrol tidak valid';
    break;
    case JSON_ERROR_SYNTAX:
      echo 'kesalahan sintaks, JSON tidak valid';
    break;
    case JSON_ERROR_UTF8:
      echo 'karakter UTF-8 tidak valid, mungkin dikodekan dengan salah';
    break;
    default:
      echo 'kesalahan tidak diketahui';
    break;
  }
?>
Задание 1

Diberikan sebuah string dengan JSON tertentu. Uraikan JSON tersebut menjadi struktur data PHP. Tampilkan hasil penguraian atau alasan kesalahan jika penguraian JSON gagal.