JSON পার্স করার সময় পার্সার ত্রুটি PHP তে
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 পার্স করা সম্ভব না হয়।