Gabimet e parserit gjatë analizimit të JSON në PHP
Duke përdorur funksionin json_last_error
mund të zbuloni se çfarë gabimi
ndodhi gjatë analizimit të JSON.
Le të shohim se si bëhet
kjo. Le të themi se kemi
JSON të pasaktë:
<?php
$json = '["a", "b", "c",]';
?>
Le të përpiqemi ta analizojmë atë:
<?php
$data = json_decode($json);
var_dump($data); // do të nxjerrë null
?>
Meqë ka ndodhur një gabim, json_last_error
gjatë thirrjes do të japë numrin e atij gabimi:
<?php
$error = json_last_error();
var_dump($error); // numri i gabimit
?>
Numri i kthyer mund të krahasohet me konstantet speciale të PHP. Bazuar në këtë, mund të shkruani kod që kap lloje të ndryshme gabimesh:
<?php
switch (json_last_error()) {
case JSON_ERROR_NONE:
echo 'nuk ka gabime';
break;
case JSON_ERROR_DEPTH:
echo 'është arritur thellësia maksimale e stivit';
break;
case JSON_ERROR_STATE_MISMATCH:
echo 'bite të pasakta ose mospërputhje e mënyrave';
break;
case JSON_ERROR_CTRL_CHAR:
echo 'karakter kontrolli i pasaktë';
break;
case JSON_ERROR_SYNTAX:
echo 'gabim sintaksor, JSON i pasaktë';
break;
case JSON_ERROR_UTF8:
echo 'karaktere të pasakta UTF-8, ndoshta i koduar gabimisht';
break;
default:
echo 'gabim i panjohur';
break;
}
?>
Jepet një varg me një JSON. Analizoni atë në një strukturë të dhënash PHP. Nxjerrni rezultatin e analizimit ose arsyen e gabimit nëse analizimi i JSON dështoi.