PHP တွင် JSON ဖတ်ရှုစဉ် Parser အမှားများ

json_last_error function ကို အသုံးပြု၍ JSON ဖတ်ရှုစဉ် အမှန်တကယ်ဖြစ်ပွားခဲ့သော အမှားကို ရှာဖွေသိရှိနိုင်သည်။ ဤသို့ပြုလုပ်ပုံကို ကြည့်ရှုကြပါစို့။ မှားယွင်းနေသော JSON တစ်ခုရှိသည်ဟု ယူဆပါစို့။

php<?php
  $json = '["a", "b", "c",]';
?>

၎င်းကို ဖတ်ရှုရန် ကြိုးစားကြည့်ကြပါစို့။

php<?php
  $data = json_decode($json);
  var_dump($data); // null ကိုထုတ်ပေးမည်
?>

အမှားတစ်ခု ဖြစ်ပွားသောကြောင့် json_last_error ကိုခေါ်ယူသောအခါ ထိုအမှား၏နံပါတ်ကို ထုတ်ပေးမည်။

php<?php
  $error = json_last_error();
  var_dump($error); // အမှား၏နံပါတ်
?>

ပြန်လည်ပေးသော နံပါတ်ကို PHP ၏ အထူး constants များနှင့် နှိုင်းယှဉ်နိုင်သည်။ ၎င်းအပေါ်အခြေခံ၍ အမျိုးမျိုးသော အမှားအမျိုးအစားများကို ဖမ်းယူသော ကုဒ်ကို ရေးသားနိုင်သည်။

php<?php
   switch (json_last_error()) {
    case JSON_ERROR_NONE:
      echo 'အမှားမရှိပါ';
    break;
    case JSON_ERROR_DEPTH:
      echo 'စတက်အနက်အများဆုံးကို ရောက်ရှိသွားသည်';
    break;
    case JSON_ERROR_STATE_MISMATCH:
      echo 'မမှန်ကန်သော bits သို့မဟုတ် မုဒ်မကိုက်ညီမှု';
    break;
    case JSON_ERROR_CTRL_CHAR:
      echo 'မမှန်ကန်သော ထိန်းချုပ်မှုအက္ခရာ';
    break;
    case JSON_ERROR_SYNTAX:
      echo 'ဝါကျဖွဲ့စည်းပုံအမှား၊ မမှန်ကန်သော JSON';
    break;
    case JSON_ERROR_UTF8:
      echo 'မမှန်ကန်သော UTF-8 အက္ခရာများ၊ encoding မှားနိုင်သည်';
    break;
    default:
      echo 'မသိအမှား';
    break;
  }
?>
Задание 1

JSON အချို့ပါဝင်သော string တစ်ခုပေးထားသည်။ ၎င်းကို PHP ၏ data structure သို့ ဖတ်ရှုပါ။ ဖတ်ရှုမှု၏ရလဒ်ကို သို့မဟုတ် JSON ကိုဖတ်ရှု၍မရပါက အမှား၏အကြောင်းရင်းကို ထုတ်ပြပါ။