လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> ရှေ့တန်းနှင့်နောက်ခံအကြားဒေတာထုတ်လွှင့်သည့်အကြားဒေတာထုတ်လွှင့်သည့် format ကိုအကောင်းဆုံးဖြစ်အောင်လုပ်နည်း

ရှေ့တန်းနှင့်နောက်ခံအကြားဒေတာထုတ်လွှင့်သည့်အကြားဒေတာထုတ်လွှင့်သည့် format ကိုအကောင်းဆုံးဖြစ်အောင်လုပ်နည်း

gitbox 2025-09-21
<span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-comment">// ဒီဆောင်းပါးနှင့် PHP ဆက်သော,၎င်းကိုမည်သို့အသုံးပြုရမည်ကိုသရုပ်ပြရန်အသုံးပြုခဲ့သည် json_last_error_msg ဒေတာထုတ်လွှင့်မှုကိုပိုကောင်းအောင်လုပ်ပါ</span></span><span>
</span><span><span class="hljs-comment">// -------------------------------</span></span><span>

</span><span><span class="hljs-comment"># ဘယ်လိုသုံးရမလဲ json_last_error_msg ရှေ့တန်းနှင့်အဆုံးအကြားဒေတာထုတ်လွှင့် format ကို optimize လုပ်ရန်လုပ်ဆောင်ချက်များကို?</span></span><span>

မျက်မှောက်ခေတ်၌တည်၏ Web ဖွံ့ဖြိုးမှုအောက်မှာ,ရှေ့နှင့်နောက်ပိုင်းအဆုံးအကြားဒေတာအပြန်အလှန်ဆက်စပ်မှုနီးပါးရှိသည် JSON ပမာဏ。Front-end pass JavaScript သို့ဒေတာ encapsultulate JSON ကန့်ကွက်,backend သို့ဖြတ်သန်း;backend ကိုသုံးပါ PHP မှန်သော JSON string parsing နှင့် processing。မည်မှျပင်,အချက်များတည်နေ传输和解析过程အလယ်ပိုင်း很容易出现ပမာဏ错误,ဥပမာအားဖြင့်, encoding ပြ issues နာများ、ပျောက်ဆုံးနေကိုးကားသို့မဟုတ် syntax မမှန်。ဤအမှားများကိုအချိန်အတွက်ဖမ်းမိမခံရလျှင်,၎င်းသည်ပုံမှန်မဟုတ်သောပရိုဂရမ်စစ်ဆင်ရေးသို့မဟုတ်အချက်အလက်ဆုံးရှုံးမှုကိုဖြစ်စေနိုင်သည်。为了更好地优化前后端之间的အချက်များ传输ပမာဏ,`</span><span><span class="hljs-title function_ invoke__">json_last_error_msg</span></span><span>()` လုပ်ဆောင်ချက်များကိုအလွန်လက်တွေ့ကျတဲ့ကိရိယာတစ်ခုဖြစ်လာသည်。

</span><span><span class="hljs-comment">## တစ်、ဘာလဲ `json_last_error_msg()`</span></span><span>

တည်နေ PHP အလယ်ပိုင်း,ငါတို့သုံးတဲ့အခါ `</span><span><span class="hljs-title function_ invoke__">json_encode</span></span><span>()` သို့မဟုတ် `</span><span><span class="hljs-title function_ invoke__">json_decode</span></span><span>()` အချိန်,အမှားများကိုကြုံတွေ့ရနိုင်သည်。PHP ထောက်ပံ့ `</span><span><span class="hljs-title function_ invoke__">json_last_error</span></span><span>()` အမှားကုဒ်ကိုပြန်သွားပါ,သို့သော်ဤအမှားကုဒ်များသည်နံပါတ်များဖြစ်သည်,အလိုလိုမဟုတ်ပါဘူး。နှင့် `</span><span><span class="hljs-title function_ invoke__">json_last_error_msg</span></span><span>()` 则会返回မှန်သော应的错误信息ကြိုး,developer များနားလည်ရန်နှင့် debug လုပ်ရန်ပိုမိုလွယ်ကူသည်。

နမူနာ:

```php
</span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-variable">$data</span></span><span> = </span><span><span class="hljs-string">"{invalidJson: true}"</span></span><span>; </span><span><span class="hljs-comment">// တရားမဝင်သော JSON ကြိုး</span></span><span>
</span><span><span class="hljs-variable">$result</span></span><span> = </span><span><span class="hljs-title function_ invoke__">json_decode</span></span><span>(</span><span><span class="hljs-variable">$data</span></span><span>, </span><span><span class="hljs-literal">true</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-meta">?&gt;</span></span><span>
</span></span>

output ကိုဖြစ်လိမ့်မည်:

 <span><span>ခွဲခြမ်းစိတ်ဖြာခြင်းမအောင်မြင်ပါ:Syntax </span><span><span class="hljs-type">error</span></span><span>
</span></span>

ဤနည်းအားဖြင့် developer များသည်အမှားကုဒ်များပေါ်တွင်သာမှီခိုမည့်အစားပြ the နာကိုလျင်မြန်စွာရှာဖွေနိုင်သည်။

2 ။ Front-end နှင့် back-end data transmission ကိုပိုမိုကောင်းမွန်စေရန်အရေးပါမှု

  1. အချက်အလက်သမာဓိရှိမှု - ထုတ်လွှင့်ခြင်းလုပ်ငန်းစဉ်အတွင်းဒေတာဖွဲ့စည်းပုံပျက်စီးသွားပါက၎င်းကိုအချိန်မီရှာဖွေတွေ့ရှိနိုင်ပြီးပြင်ဆင်ရန်အတွက်စစ်ဆေးမှုကိုပြုလုပ်နိုင်သည်။

  2. အသုံးပြုသူအတွေ့အကြုံကိုတိုးတက်အောင်ပြုလုပ်ခြင်း - အမှားအယွင်းများသည်ရှင်းလင်းပြတ်သားပြီးရှင်းလင်းပြတ်သားသည်, ပြ problems နာများကိုလျင်မြန်စွာရှာဖွေရန်နှင့်ဆက်သွယ်ရေးစရိတ်များကိုလျော့နည်းစေသည်။

  3. Enhanced system corwastness - အမှားရှာဖွေတွေ့ရှိရေးယန္တရားမှတဆင့်ခွဲခြမ်းစိတ်ဖြာခြင်းအမှားများကြောင့်ဖြစ်ပေါ်လာသောစီးပွားရေးယုတ္တိဗေဒပြတ်တောက်မှုကိုရှောင်ရှားနိုင်သည်။

3 ။ လျှောက်လွှာဇာတ်လမ်းတစ်ပုဒ်နှင့်အတူပေါင်းစပ်လေ့ကျင့်

1 ။ ရှေ့တန်းဒေတာကိုလက်ခံရရှိသည့်အခါစစ်ဆေးပါ

 <span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-comment">// 假设Front-end pass AJAX ပေးပို့ JSON အချက်များ</span></span><span>
</span><span><span class="hljs-variable">$jsonInput</span></span><span> = </span><span><span class="hljs-title function_ invoke__">file_get_contents</span></span><span>(</span><span><span class="hljs-string">"php://input"</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">$jsonInput</span></span><span>, </span><span><span class="hljs-literal">true</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-title function_ invoke__">http_response_code</span></span><span>(</span><span><span class="hljs-number">400</span></span><span>);
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-title function_ invoke__">json_encode</span></span><span>([
        </span><span><span class="hljs-string">"status"</span></span><span> =&gt; </span><span><span class="hljs-string">"error"</span></span><span>,
        </span><span><span class="hljs-string">"message"</span></span><span> =&gt; </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><span class="hljs-keyword">exit</span></span><span>;
}

</span><span><span class="hljs-comment">// 如果အချက်များပမာဏ正确,စီးပွားရေးယုတ္တိဗေဒကိုဆက်လက်</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-title function_ invoke__">json_encode</span></span><span>([
    </span><span><span class="hljs-string">"status"</span></span><span> =&gt; </span><span><span class="hljs-string">"success"</span></span><span>,
    </span><span><span class="hljs-string">"data"</span></span><span> =&gt; </span><span><span class="hljs-variable">$data</span></span><span>
]);
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>

ဤနည်းအားဖြင့် Backend သည် JSOSS ၏ပြ problems နာများကိုဖြစ်နိုင်သမျှအမြန်ဆုံးရှာဖွေတွေ့ရှိနိုင်ပြီးဖော်ရွေသောအမှားသတိပေးချက်များကိုပြန်ပို့နိုင်သည်။

2 ။ ရှေ့အဆုံးမှဒေတာ outputting အခါစစ်ဆေးပါ

 <span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-variable">$response</span></span><span> = [
    </span><span><span class="hljs-string">"status"</span></span><span> =&gt; </span><span><span class="hljs-string">"success"</span></span><span>,
    </span><span><span class="hljs-string">"message"</span></span><span> =&gt; </span><span><span class="hljs-string">"စစ်ဆင်ရေးပြီးစီးခဲ့သည်"</span></span><span>,
    </span><span><span class="hljs-string">"data"</span></span><span> =&gt; [</span><span><span class="hljs-string">"id"</span></span><span> =&gt; </span><span><span class="hljs-number">123</span></span><span>, </span><span><span class="hljs-string">"name"</span></span><span> =&gt; </span><span><span class="hljs-string">"အသုံးပြုသူကိုစစ်ဆေးပါ"</span></span><span>]
];

</span><span><span class="hljs-variable">$jsonOutput</span></span><span> = </span><span><span class="hljs-title function_ invoke__">json_encode</span></span><span>(</span><span><span class="hljs-variable">$response</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-title function_ invoke__">error_log</span></span><span>(</span><span><span class="hljs-string">"JSON Coding မအောင်မြင်ပါ:"</span></span><span> . </span><span><span class="hljs-title function_ invoke__">json_last_error_msg</span></span><span>());
    </span><span><span class="hljs-title function_ invoke__">http_response_code</span></span><span>(</span><span><span class="hljs-number">500</span></span><span>);
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"服务器အချက်များပမာဏ错误"</span></span><span>;
    </span><span><span class="hljs-keyword">exit</span></span><span>;
}

</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$jsonOutput</span></span><span>;
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>

ဤအချက်သည် frontend သို့ Backend မှပြန်လာသော JSon Data သည်အမြဲတမ်းတရားဝင်နှင့်ဆန်းစစ်နိုင်သည်ကိုသေချာစေသည်။

4 ။ အကျဉ်းချုပ်

Front-end data ထုတ်လွှင့်ရာတွင် JSON သည်အဓိကပုံစံဖြစ်သည်။ သို့သော်အပြောင်းအလဲများလုပ်ငန်းစဉ်အတွင်းအမှားအယွင်းများကိုမလွှဲမရှောင်သာဖြစ်သည်။ JSON_LAST_ERROR_ERROR_MSG () သည် ပြ problems နာများကိုလျင်မြန်စွာရှာဖွေရန်သာမကစနစ်၏ကြံ့ခိုင်မှုနှင့်အသုံးပြုသူအတွေ့အကြုံများကိုသိသိသာသာတိုးတက်အောင်ပြုလုပ်နိုင်သည်။ ဤ function ကို data ည့်ခံခြင်းနှင့် output link များသို့ကျိုးကြောင်းဆီလျော်စွာအသုံးချခြင်းဖြင့်ရှေ့နှင့်နောက်ပိုင်းအဆုံးအကြားဒေတာထုတ်လွှင့်သည့်ပုံစံကိုထိထိရောက်ရောက်ကောင်းမွန်စေသည်။

 <span></span>