Makosa ya Kuchanganua wakati wa Kuchambua JSON katika PHP

Kwa kutumia kitendo json_last_error unaweza kujua, ni makosa gani hasa yaliyotokea wakati wa kuchanganua JSON. Wacha tuangalie jinsi hii inafanyika. Hebu tuseme tuna JSON isiyo sahihi:

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

Wacha tujaribu kuichambua:

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

Kwa kuwa kulikuwa na kosa, basi json_last_error wakati wa kuitwa itatoa nambari ya kosa hilo:

php<?php
  $error = json_last_error();
  var_dump($error); // nambari ya kosa
?>

Nambari inayorudishwa inaweza kulinganishwa na viunga maalum vya PHP. Kulingana na hii unaweza kuandika msimbo, unaokamata aina mbalimbali za makosa:

php<?php
   switch (json_last_error()) {
    case JSON_ERROR_NONE:
      echo 'hakuna makosa';
    break;
    case JSON_ERROR_DEPTH:
      echo 'kina cha juu cha mwingilio kimefikwa';
    break;
    case JSON_ERROR_STATE_MISMATCH:
      echo 'bits zisizo sahihi au kutolingana kwa hali';
    break;
    case JSON_ERROR_CTRL_CHAR:
      echo 'herufi ya kudhibiti isiyo sahihi';
    break;
    case JSON_ERROR_SYNTAX:
      echo 'kosa la sintaksia, JSON isiyo sahihi';
    break;
    case JSON_ERROR_UTF8:
      echo 'herufi zisizo sahihi za UTF-8, labda imesimbwa vibaya';
    break;
    default:
      echo 'kosa lisilojulikana';
    break;
  }
?>
Задание 1

Imetolewa kamba na JSON fulani. Ichambue kuwa muundo wa data wa PHP. Onyesha matokeo ya uchambuzi au sababu ya kosa, kama kuchambua JSON hakukufanikiwa.