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
$json = '["a", "b", "c",]';
?>
Wacha tujaribu kuichambua:
<?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
$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
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;
}
?>
Imetolewa kamba na JSON fulani. Ichambue kuwa muundo wa data wa PHP. Onyesha matokeo ya uchambuzi au sababu ya kosa, kama kuchambua JSON hakukufanikiwa.