လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> JSON_LAST_ERRORROR သည်အသိုက်သို့မဟုတ်ရှုပ်ထွေးသောအဆောက်အအုံများနှင့်ဆက်ဆံရာတွင် JSON ပြ problems နာများကိုဖြေရှင်းနိုင်မည်နည်း။

JSON_LAST_ERRORROR သည်အသိုက်သို့မဟုတ်ရှုပ်ထွေးသောအဆောက်အအုံများနှင့်ဆက်ဆံရာတွင် JSON ပြ problems နာများကိုဖြေရှင်းနိုင်မည်နည်း။

gitbox 2025-08-28

JSON_LAST_ERRORROR သည်အသိုက်သို့မဟုတ်ရှုပ်ထွေးသောအဆောက်အအုံများနှင့်ဆက်ဆံရာတွင် JSON ပြ problems နာများကိုဖြေရှင်းနိုင်မည်နည်း။

JSON ဒေတာကို PHP တွင်လုပ်ဆောင်သောအခါ JSOSTCode () ကို PHP variable များကို PHP variable များသို့ပြောင်းလဲရန်မကြာခဏအသုံးပြုလေ့ရှိသည်။ ဤလုပ်ငန်းစဉ်သည်များသောအားဖြင့်အလွန်အလိုလိုသိသည်, သို့သော်အသိုက်သို့မဟုတ်ရှုပ်ထွေးသောအဆောက်အအုံများနှင့်ဆက်ဆံရာတွင်သင်မကြာခဏခွဲခြမ်းစိတ်ဖြာအမှားများကိုမကြာခဏကြုံတွေ့ရလေ့ရှိသည်။ ယခုအချိန်တွင်သင်သည် JSON_LAST_ERTRORRORRORRERRORR () () ကို အသုံးပြုရန်လိုအပ်သည်။

1 ။ JSON_DECODED () function နှင့် common json ပြ problems နာများ

JSOR_DECODED () သည် JSON strings ကိုအသုံးပြုလေ့ရှိသော PHP တွင်အလုပ်လုပ်သော function တစ်ခုဖြစ်သည်။ ၎င်းသည် JSON format အချက်အလက်များကို PHP ရှိ Array သို့မဟုတ် Object သို့ပြောင်းနိုင်သည်။ ပုံမှန်အားဖြင့် JSON_Decode () PHP အရာဝတ်ထုကိုပြန်ပို့သည်။ အပေါင်းအသင်းဆိုင်ရာခင်းကျင်းမှုကိုကျွန်ုပ်တို့ပြန်ပို့လိုပါကဒုတိယ parameter သည် အမှန်ပင် ကျွန်ုပ်တို့သွားနိုင်သည်။

ဥပမာအားဖြင့်:

 <span><span><span class="hljs-variable">$json</span></span><span> = </span><span><span class="hljs-string">'{"name": "John", "age": 30}'</span></span><span>;
</span><span><span class="hljs-variable">$data</span></span><span> = </span><span><span class="hljs-title function_ invoke__">json_decode</span></span><span>(</span><span><span class="hljs-variable">$json</span></span><span>);
</span></span>

JSON အချက်အလက်များကိုခွဲခြမ်းစိတ်ဖြာခြင်းတွင်ပြ a နာတစ်ခုရှိပါက JSONS_Decode () သည် NULL ကို ပြန်လာမည်။ ဤအချိန်တွင်သင်သည် json_last_Error () function ကိုအသုံးပြုရန်လိုအပ်သည်။

2 ။ ဘုံအမှားအယွင်းများနှင့် JSONS_LAST_ERROR () ပြန်လာတန်ဖိုး

PHP သည် JSONS စစ်ဆင်ရေး၏အမှားကုဒ်ကိုရရန် JSON_LAST_ERRORRORERRORR () function ကိုထောက်ပံ့ပေးသည်။ JSON_LAST_ERRORERRORE () သည် အမြဲတမ်းအမှားတစ်ခုသို့ပြန်လာလိမ့်မည်, ဘုံအမှားအယွင်းများတွင် -

  • JSON_ERROR_NONE - အမှားအယွင်းများမရှိပါ။ ခွဲခြမ်းစိတ်ဖြာမှုအောင်မြင်ခဲ့သည်။

  • JSON_ERRORR_DEPH : အများဆုံး stack အတိမ်အနက်ကိုကျော်လွန်သည် (i.e. , အသိုက်သည်အလွန်နက်ရှိုင်းသည်) ။

  • JSON_ERROR_STATE_MISTATHTCH - JSO ဆင်ကိုပြုပြင်မွမ်းမံနိုင်တဲ့တရားမ 0 င်ဂျွန်ဆန်အခြေအနေကိုတရားမ 0 င်ဂျွန်ဆင်ဒေတာကိုပြုပြင်နေတဲ့တရားမ 0 င်ဂျွန်ဆန်အခြေအနေ

  • JSON_ERROR_CTRL_CHAR : ထိန်းချုပ်မှုဇာတ်ကောင်အမှား, တရားမ 0 င်ထိန်းချုပ်မှုဇာတ်ကောင်သည် JSON တွင်ပေါ်လာသည်။

  • JSON_ERROR_SSYNTAX : Syntax အမှား, JSON ပုံစံသည်မမှန်ကန်ပါ။

  • JSON_ERROR_UTF8 : UTF-8 encoding အမှား, JSON string တွင်မမှန်ကန်သော UTF-8 အက္ခရာများပါ 0 င်သည်။

3 ။ ပြ problems နာတွေကို JSONS_LAST_ERROR () ကိုသုံးပြီးဘယ်လိုသုံးရမလဲ။

အသိုက်သို့မဟုတ်ရှုပ်ထွေးသောအဆောက်အအုံများနှင့်ဆက်ဆံရာတွင်အမှားအယွင်းများအခွင့်အလမ်းသည်မြင့်မားသောကြောင့်ပြ the နာကိုလျင်မြန်စွာရှာဖွေရန်သင်တတ်နိုင်ရမည်။ JSON_LAST_ERDRORE () အမှားတစ်ခုဖြစ်ပေါ်သည့်အခါအသေးစိတ်အချက်အလက်များကိုပိုမိုအသေးစိတ်ဖော်ပြနိုင်သည်။

ဥပမာအားဖြင့်:

 <span><span><span class="hljs-variable">$json</span></span><span> = </span><span><span class="hljs-string">'{"name": "John", "address": {"city": "New York", "zip": "10001"}'</span></span><span>;
</span><span><span class="hljs-variable">$data</span></span><span> = </span><span><span class="hljs-title function_ invoke__">json_decode</span></span><span>(</span><span><span class="hljs-variable">$json</span></span><span>);

</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">json_last_error</span></span><span>() !== JSON_ERROR_NONE) {
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">'JSON အမှားကုဒ်: '</span></span><span> . </span><span><span class="hljs-title function_ invoke__">json_last_error_msg</span></span><span>();
}
</span></span>

အထက်ပါကုဒ်သည် json: syntax အမှားနှင့်ဆင်တူသော decoding အမှားတစ်ခုဖြစ် လိမ့်မည်။

အမှားအယွင်းများကိုစစ်ဆေးပါ

ကျွန်ုပ်တို့တွင်ပိုမိုနက်ရှိုင်းသောအသိုက် json ဒေတာရှိသည်ဆိုပါစို့။

 <span><span><span class="hljs-variable">$json</span></span><span> = </span><span><span class="hljs-string">'{"user": {"name": "Alice", "details": {"address": {"street": "123 Main St", "city": "Wonderland"}}}}'</span></span><span>;
</span><span><span class="hljs-variable">$data</span></span><span> = </span><span><span class="hljs-title function_ invoke__">json_decode</span></span><span>(</span><span><span class="hljs-variable">$json</span></span><span>);

</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">json_last_error</span></span><span>() !== JSON_ERROR_NONE) {
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">'အမှား: '</span></span><span> . </span><span><span class="hljs-title function_ invoke__">json_last_error_msg</span></span><span>();
}
</span></span>

ဒီကုဒ်ခွဲခြမ်းစိတ်ဖြာမှုနှင့်အတူပြ problem နာမရှိပါ။ JSON format သည်မှန်ကန်သည်။

သို့သော်ကျွန်ုပ်တို့မတော်တဆ JSON သို့မလိုအပ်သောကော်မာကိုမတော်တဆထည့်ပါက -

 <span><span><span class="hljs-variable">$json</span></span><span> = </span><span><span class="hljs-string">'{"user": {"name": "Alice", "details": {"address": {"street": "123 Main St", "city": "Wonderland",}}}}'</span></span><span>;
</span><span><span class="hljs-variable">$data</span></span><span> = </span><span><span class="hljs-title function_ invoke__">json_decode</span></span><span>(</span><span><span class="hljs-variable">$json</span></span><span>);

</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">json_last_error</span></span><span>() !== JSON_ERROR_NONE) {
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">'အမှား: '</span></span><span> . </span><span><span class="hljs-title function_ invoke__">json_last_error_msg</span></span><span>(); </span><span><span class="hljs-comment">// ထုတ်လုပ်ခြင်း:အမှား: Syntax error</span></span><span>
}
</span></span>

JSON_LAST_ERROROR_MSG () json_last_error_msg () json syntax မမှန်ကန် ပါ - ဘာကြောင့်လဲဆိုတော့ JSOS Syntax မမှန်ပါ။

4 ။ အသိုက်ဖွဲ့စည်းပုံအတွက်အထူးပြ issues နာများ

အသိုက်ဖွဲ့စည်းပုံသည် JSON အချက်အလက်များ၏ရှုပ်ထွေးမှုကိုတိုးပွားစေပြီးအမှားများကိုရှာဖွေရန်အချို့ခက်ခဲနိုင်သည်။ ဥပမာအားဖြင့်:

 <span><span><span class="hljs-variable">$json</span></span><span> = </span><span><span class="hljs-string">'{"user": {"name": "Alice", "address": "Wonderland"}}'</span></span><span>;
</span><span><span class="hljs-variable">$data</span></span><span> = </span><span><span class="hljs-title function_ invoke__">json_decode</span></span><span>(</span><span><span class="hljs-variable">$json</span></span><span>);

</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">json_last_error</span></span><span>() !== JSON_ERROR_NONE) {
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">'အမှား: '</span></span><span> . </span><span><span class="hljs-title function_ invoke__">json_last_error_msg</span></span><span>(); </span><span><span class="hljs-comment">// 可能ထုတ်လုပ်ခြင်း Syntax error</span></span><span>
}
</span></span>

ဤဥပမာတွင် JSON ရှိ လိပ်စာ တန်ဖိုးသည်အရာဝတ်ထုတစ်ခုဖြစ်သင့်သည်, သို့သော်အမှန်တကယ် string ကိုဖြစ်သည်။ ဤအမှားသည် JSOSS ၏တိုက်ရိုက်ပျက်ကွက်မှုအားတိုက်ရိုက်ပျက်ကွက်မှုဖြစ်စေမည်မဟုတ်သော်လည်း application Logic တွင်လုပ်ဆောင်သောအခါမမျှော်လင့်သောအပြုအမူပေါ်ပေါက်လာလိမ့်မည်။ ထို့ကြောင့် JSON_LAST_ERROROR_ERROR_MSG () သည် ဤအလားအလာရှိသောပြ problems နာများကိုတတ်နိုင်သမျှစောလျင်စွာရှာဖွေရန်ကူညီနိုင်သည်။

5 ။ နက်ရှိုင်းသောအသိုက်ပြ problem နာနှင့် json_error_depth

အလွန်နက်ရှိုင်းသောအသိုက်တည်ဆောက်ပုံများနှင့်ဆက်ဆံရာတွင် json_error_depth အမှားများကိုသင်ကြုံတွေ့ရနိုင်သည်။ JSON ၏အချက်အလက်များကအသိုက်ထားသည့်အလွှာအရေအတွက်သည် php configuration ထက်ကျော်လွန်နေသည်ဟုဤအမှားကဖော်ပြသည်။

 <span><span><span class="hljs-variable">$json</span></span><span> = </span><span><span class="hljs-string">'{"level1": {"level2": {"level3": {"level4": {"level5": {"level6": {"level7": "end"}}}}}}}}'</span></span><span>;
</span><span><span class="hljs-variable">$data</span></span><span> = </span><span><span class="hljs-title function_ invoke__">json_decode</span></span><span>(</span><span><span class="hljs-variable">$json</span></span><span>);

</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">json_last_error</span></span><span>() === JSON_ERROR_DEPTH) {
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">'အမှား: JSON ဒေတာအသိုက်အဆင့်ဆင့်အလွန်နက်ရှိုင်းဖြစ်ကြသည်'</span></span><span>;
}
</span></span>

ပုံမှန်အားဖြင့် PHP တွင် JSON အချက်အလက်များ၏အသိုက်အလွှာအရေအတွက်ကိုကန့်သတ်ထားသည်။ သငျသညျတတိယ parameter ၏တတိယ parameter ကိုအတိမ် အနက် ကို json_decode () အားဖြင့်အများဆုံးအရေအတွက်ကိုချိန်ညှိနိုင်ပါတယ်။

 <span><span><span class="hljs-variable">$data</span></span><span> = </span><span><span class="hljs-title function_ invoke__">json_decode</span></span><span>(</span><span><span class="hljs-variable">$json</span></span><span>, </span><span><span class="hljs-literal">true</span></span><span>, </span><span><span class="hljs-number">10</span></span><span>); </span><span><span class="hljs-comment">// အများဆုံးအတိမ်အနက်ကိုသတ်မှတ်ပါ 10</span></span><span>
</span></span>

6 ။ JSON parsing ကိုအကောင်းမြင်နည်း

ရှုပ်ထွေးသောဂျွန်ဆင်အဆောက်အအုံများနှင့်ဆက်ဆံရာတွင်ခွဲခြမ်းစိတ်ဖြာခြင်းလုပ်ငန်းစဉ်ကိုပိုမိုကောင်းမွန်အောင်ပြုလုပ်ရန်အလွန်အရေးကြီးသည်။ သာမန် optimization နည်းလမ်းများပါဝင်သည်:

  • JSON အချက်အလက်များ၏ရှုပ်ထွေးမှုကိုလျှော့ချပါ

  • input data ကိုစစ်ဆေးပြီးအတည်ပြုပါ ။ JSON အချက်အလက်များကိုမခွဲမိမီအချက်အလက်များကိုမှန်ကန်စွာပုံစံချခြင်းနှင့်ဘုံပုံစံအမှားအယွင်းများကိုရှောင်ရှားရန်သေချာအောင်လုပ်ပါ။

  • ခွဲခြမ်းစိတ်ဖြာခြင်းအတိမ်အနက်ကိုတိုးမြှင့်ပါ

7 ။ နိဂုံးချုပ်

PHP တွင် JSON_LAST_ERDRORER () သည် JSOS ခွဲခြမ်းစိတ်ဖြာမှုတွင်အထူးသဖြင့်ရှုပ်ထွေးသောသို့မဟုတ်ရှုပ်ထွေးသောဂျွန်ဆင်အဆောက်အအုံများနှင့်ဆက်ဆံရာတွင်ပြ problems နာအမျိုးမျိုးကိုဖြေရှင်းရန်နှင့်ပြသနာအမျိုးမျိုးကိုဖြေရှင်းနိုင်သည့်အလွန်အသုံးဝင်သောကိရိယာတစ်ခုဖြစ်သည်။ ဘုံအမှားအယွင်းများကိုနားလည်ခြင်းနှင့် JSONS_LAST_ERRORRORE ကိုမည်သို့အသုံးပြုရမည်ကိုလေ့လာခြင်း () သည် JSOS အချက်အလက်များကိုမှန်ကန်စွာလေ့လာနိုင်သည်ကိုနားလည်ခြင်းသည် JSOS အချက်အလက်များကိုပိုမိုထိရောက်စွာကူညီနိုင်ပြီးအလားအလာရှိသောအမှားများကိုပိုမိုထိရောက်စွာကူညီနိုင်ပြီးအလားအလာအမှားများကိုပိုမိုထိရောက်စွာကူညီနိုင်ပြီးအလားအလာရှိသောအမှားများကိုပိုမိုထိရောက်စွာရှောင်ရှားနိုင်ရန်နှင့်အလားအလာရှိသောအမှားများကိုပိုမိုထိရောက်စွာကူညီနိုင်ပြီးအလားအလာအမှားများကိုပိုမိုထိရောက်စွာရှောင်ရှားနိုင်ပြီးအလားအလာရှိသောအမှားအယွင်းများကိုပိုမိုထိရောက်စွာရှောင်ရှားနိုင်ပြီးအလားအလာရှိသောအမှားများကိုပိုမိုထိရောက်စွာရှောင်ရှားနိုင်ပြီးအလားအလာရှိသောအမှားများကိုပိုမိုထိရောက်စွာရှောင်ရှားနိုင်ပြီးအလားအလာရှိသောအမှားများကိုပိုမိုထိရောက်စွာရှောင်ရှားနိုင်ပြီးအလားအလာရှိသောအမှားများကိုပိုမိုထိရောက်စွာရှောင်ရှားနိုင်ပြီးအလားအလာရှိသောအမှားများကိုပိုမိုထိရောက်စွာရှောင်ရှားနိုင်ပြီးအလားအလာရှိသောအမှားများကိုပိုမိုထိရောက်စွာရှောင်ရှားနိုင်ပြီးအလားအလာရှိသောအမှားများကိုပိုမိုထိရောက်စွာကူညီနိုင်သည်။