PHP හි JSON විග්රහයේදී පාර්සර් දෝෂ
json_last_error ශ්රිතය භාවිතයෙන්,
JSON පාර්ස් කිරීමේදී සිදු වූ නිශ්චිත දෝෂය
හඳුනා ගත හැකිය.
අපි එය කරන්නේ කෙසේදැයි
බලමු. අපට නිවැරදි නොවන
JSON එකක් ඇතැයි සිතමු:
<?php
$json = '["a", "b", "c",]';
?>
අපි එය විග්රහ කිරීමට උත්සාහ කරමු:
<?php
$data = json_decode($json);
var_dump($data); // null අගය නිකුත් කරයි
?>
දෝෂයක් ඇති වූ නිසා, json_last_error
ශ්රිතය කැඳවූ විට එම දෝෂයේ අංකය
අපට ලැබේ:
<?php
$error = json_last_error();
var_dump($error); // දෝෂ අංකය
?>
ලැබෙන අංකය PHP හි විශේෂ නියතයන් සමඟ සසඳා බැලිය හැකිය. මෙය මත පදනම්ව, විවිධ වර්ගයේ දෝෂ හඳුනා ගන්නා කේතයක් ලිවිය හැකිය:
<?php
switch (json_last_error()) {
case JSON_ERROR_NONE:
echo 'දෝෂ නැත';
break;
case JSON_ERROR_DEPTH:
echo 'ස්ටැක් ගැඹුරේ උපරිම මට්ටමට ළඟා විය';
break;
case JSON_ERROR_STATE_MISMATCH:
echo 'වැරදි බිටු හෝ මාදිලියන් අතර ගැළපීමක් නැත';
break;
case JSON_ERROR_CTRL_CHAR:
echo 'වැරදි පාලක අක්ෂරය';
break;
case JSON_ERROR_SYNTAX:
echo 'වාක්ය ඛණ්ඩ දෝෂය, වැරදි JSON';
break;
case JSON_ERROR_UTF8:
echo 'වැරදි UTF-8 අක්ෂර, සමහර විට වැරදි ලෙස කේතනය කර ඇත';
break;
default:
echo 'නොදන්නා දෝෂය';
break;
}
?>
යම් JSON එකක් සහිත නූලක් ලබා දී ඇත. එය PHP දත්ත ව්යුහයකට විග්රහ කරන්න. විග්රහ කිරීමේ ප්රතිඵලය හෝ JSON විග්රහ කළ නොහැකි වූයේ නම් එහි හේතුව නිකුත් කරන්න.