JSON-in PHP-də analiz edilərkən parser səhvləri

json_last_error funksiyası vasitəsilə JSON analizi zamanı tam olaraq hansı səhvin baş verdiyini öyrənə bilərsiniz. Gəlin bunun necə edildiyinə baxaq. Tutaq ki, bizdə düzgün olmayan JSON var:

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

Gəlin onu analiz etməyə çalışaq:

php<?php
  $data = json_decode($json);
  var_dump($data); // null çıxaracaq
?>

Səhv baş verdiyi üçün, json_last_error çağırıldıqda həmin səhvin nömrəsini çıxaracaq:

php<?php
  $error = json_last_error();
  var_dump($error); // səhv nömrəsi
?>

Qaytarılan nömrəni PHP-nin xüsusi sabitləri ilə müqayisə etmək olar. Buna əsaslanaraq müxtəlif tipli səhvləri tutmaq üçün kod yazmaq olar:

php<?php
   switch (json_last_error()) {
    case JSON_ERROR_NONE:
      echo 'səhv yoxdur';
    break;
    case JSON_ERROR_DEPTH:
      echo 'maksimum yığın dərinliyinə çatılıb';
    break;
    case JSON_ERROR_STATE_MISMATCH:
      echo 'düzgün olmayan bitlər və ya rejim uyğunsuzluğu';
    break;
    case JSON_ERROR_CTRL_CHAR:
      echo 'düzgün olmayan idarəedici simvol';
    break;
    case JSON_ERROR_SYNTAX:
      echo 'sintaktik səhv, düzgün olmayan JSON';
    break;
    case JSON_ERROR_UTF8:
      echo 'düzgün olmayan UTF-8 simvolları, ola bilsin ki, səhv kodlaşdırılıb';
    break;
    default:
      echo 'naməlum səhv';
    break;
  }
?>
Задание 1

Müəyyən JSON olan sətir verilib. Onu PHP məlumat quruluşuna analiz edin. Analizin nəticəsini və ya JSON-u analiz etmək mümkün olmadıqda, səhvin səbəbini çıxarın.