JSON analizės klaidų analizė PHP
Naudodami funkciją json_last_error
galite sužinoti, kokia konkrečiai klaida
įvyko analizuojant JSON.
Pažiūrėkime, kaip tai
daroma. Tarkime, kad turime
neteisingą JSON:
<?php
$json = '["a", "b", "c",]';
?>
Pabandykime jį išanalizuoti:
<?php
$data = json_decode($json);
var_dump($data); // išves null
?>
Kadangi įvyko klaida, json_last_error
iškviečiant grąžins šios klaidos numerį:
<?php
$error = json_last_error();
var_dump($error); // klaidos numeris
?>
Grąžinamą numerį galima palyginti su specialiomis PHP konstantomis. Remiantis tuo galima parašyti kodą, filtruojantį įvairių tipų klaidas:
<?php
switch (json_last_error()) {
case JSON_ERROR_NONE:
echo 'klaidų nėra';
break;
case JSON_ERROR_DEPTH:
echo 'pasiektas maksimalus steko gylis';
break;
case JSON_ERROR_STATE_MISMATCH:
echo 'neteisingi bitai arba režimų neatitikimas';
break;
case JSON_ERROR_CTRL_CHAR:
echo 'neteisingas valdymo simbolis';
break;
case JSON_ERROR_SYNTAX:
echo 'sintaksės klaida, neteisingas JSON';
break;
case JSON_ERROR_UTF8:
echo 'neteisingi UTF-8 simboliai, galbūt neteisingai užkoduoti';
break;
default:
echo 'nežinoma klaida';
break;
}
?>
Duota eilutė su tam tikru JSON. Išanalizuokite jį į PHP duomenų struktūrą. Išveskite analizės rezultatą arba klaidos priežastį, jei išanalizuoti JSON nepavyko.