လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> JSON ၏အချက်အလက်များကို multensional array သို့ပြောင်းခြင်းတွင် JSON_Decode ၏စွမ်းဆောင်ရည်နှင့်ထောင်ချောက်များ

JSON ၏အချက်အလက်များကို multensional array သို့ပြောင်းခြင်းတွင် JSON_Decode ၏စွမ်းဆောင်ရည်နှင့်ထောင်ချောက်များ

gitbox 2025-05-29

1 ။ JSON_Decode ၏အခြေခံအသုံးပြုမှု

JSONS_Decode function ၏အခြေခံပုံစံသည်အောက်ပါအတိုင်းဖြစ်သည် -

 $data = json_decode($jsonString, true);
  • ပထမ ဦး ဆုံး parameter သည် JSON string ကိုဖြစ်ပါတယ်။

  • ဒုတိယ parameter သည် မှန်သော အခါရလဒ်ကိုအပေါင်းအသင်းဆိုင်ရာခင်းကျင်းမှုတစ်ခုအဖြစ်ခွဲထားလိမ့်မည်။ ချန်လှပ်သို့မဟုတ်မှားယွင်းသောသို့မဟုတ် မှားလျှင် , အရာဝတ်ထုပြန်လာလိမ့်မည်။


2 ။ multidimensional Json ခွဲခြမ်းစိတ်ဖြာသည့်အခါဘုံနားလည်မှုလွဲမှားခြင်း

ကျွန်ုပ်တို့တွင် Multidimensional Json Data အောက်တွင်ရှိသည်ဆိုပါစို့။

 {
  "user": {
    "name": "Alice",
    "contacts": [
      {"type": "email", "value": "[email protected]"},
      {"type": "phone", "value": "123456789"}
    ]
  }
}

ခွဲခြမ်းစိတ်ဖြာကုဒ်:

 $json = '{"user":{"name":"Alice","contacts":[{"type":"email","value":"[email protected]"},{"type":"phone","value":"123456789"}]}}';
$data = json_decode($json, true);

ဤအချက်မှာ ဒေါ်လာဒေတာ သည် multies-datevice associative array ဖြစ်သည်။ developer များစွာကြုံတွေ့ရသောပြ problems နာများမှာ -

  • JSON Parsing အောင်မြင်မှုရှိမရှိမှန်ကန်စွာဆုံးဖြတ်ခြင်းမပြုပါ 0 င်လာသည့် JSON ၏ပုံစံသည်မမှန်ကန်ပါက JSON_DECode သည် Null သည် Null ကိုပြန်လည်ရောက်ရှိလိမ့်မည်။ JSONS_LAST_ERRORERRORD ကို အသုံးပြု. ဆုံးဖြတ်ရန်လိုအပ်သည်။

  • obfuscated အရာဝတ်ထုနှင့် Array Access method <br> JSON_DECode ၏ဒုတိယ pareter သည်မှားယွင်းသော (ပုံမှန်) သည် မှား သည် (ပုံမှန်) သည်ပြန်ရောက်ပြီးအရာဝတ်ထုကိုပြန်ပို့ပြီး -> Access attribute လိုအပ်သည်။ အကယ်. မှန်ကန်ပါက ခင်းကျင်းမှုကိုပြန်လည်ပေးပို့ပြီး [] လက်လှမ်းမီရန်လိုအပ်သည်။

  • Multidimensional Array များကိုအဆင့်မြှင့်တင်ခြင်းကိုမစဉ်းစားပါ $ ဒေတာ ['user'] ရေးသားခြင်းသည် Multidimensional Array ကိုကြည့်သောအခါ ဒေါ်လာဒေတာ ['user) သည်အရာဝတ်ထုမဟုတ်သောကြောင့်အမှားတစ်ခုဖြစ်လိမ့်မည်။


3 ။ ဝှက်ထားသောထောင်ချောက်ခွဲခြမ်းစိတ်ဖြာခြင်းနှင့်ဖြေရှင်းနည်းများ

1 ။ အဆိုပါခွဲခြမ်းစိတ်ဖြာပျက်ကွက်ခြင်းနှင့်မတွေ့ရှိပါ

 $data = json_decode($json, true);
if (json_last_error() !== JSON_ERROR_NONE) {
    echo "JSON အမှားခွဲခြမ်းစိတ်ဖြာခြင်း:" . json_last_error_msg();
    exit;
}

ဤအဆင့်သည်နောက်ဆက်တွဲအပြောင်းအလဲတင်ခြင်းအမှားများကိုထိရောက်စွာရှောင်ရှားနိုင်သည်။

2 ။ မမှန်ကန်သောဒေတာအသုံးပြုမှုနည်းလမ်း

 // အမှားသရုပ်ပြ(ဒုတိယ parameter သည်ဖြစ်ပါတယ်true,ရလဒ်တစ်ခုခင်းကျင်းဖြစ်ပါတယ်,____ သည်အလုပ်မလုပ်ပါ ->)
echo $data['user']->name; // အမှားတစ်ခုသတင်းပို့ပါလိမ့်မယ်

// မှန်ကန်သောသရုပ်ပြ
echo $data['user']['name']; // ထုတ်လုပ်ခြင်း Alice

3 ။ Multidimensional Array Access Extent

ကျနော်တို့ အဆက်အသွယ်များ ကျော်လွှားချင်တယ်ဆိုပါစို့:

 foreach ($data['user']['contacts'] as $contact) {
    echo $contact['type'] . ": " . $contact['value'] . "\n";
}

4 ။ အဆင့်မြင့်: Multidimensional JSONS ၏တက်ကြွလှုပ်ရှားသောခွဲခြမ်းစိတ်ဖြာခြင်း

ဂျွန်ဆန်သည်ရှုပ်ထွေးသောအဆောက်အအုံများနှင့်မဝေးသောအလွှာများနှင့်ပါ 0 င်သောအတွက် recursive parsing လိုအပ်နိုင်ပါသည်။ ဥပမာ -

 function printJson($data, $indent = 0) {
    if (is_array($data)) {
        foreach ($data as $key => $value) {
            echo str_repeat("  ", $indent) . $key . ": ";
            if (is_array($value)) {
                echo "\n";
                printJson($value, $indent + 1);
            } else {
                echo $value . "\n";
            }
        }
    }
}

printJson($data);

ဤကုဒ်သည် multidimensional array ၏အဆင့်ဆင့်နှင့်အဓိကတန်ဖိုးများကိုရှင်းလင်းစွာထုတ်ဖော်ပြောဆိုသည်။


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

  • Multidimensional JSONS ကို JSONS_Decode ကို သုံး. ခွဲခြမ်းစိတ်ဖြာခြင်းသည်အောင်မြင်မှုရှိ ,

  • ရှင်းရှင်းလင်းလင်းထုတ်ဖော်ပြောဆိုဒုတိယ parameter ကိုသတ်မှတ်ခြင်း, အရာဝတ်ထုတစ်ခုသို့မဟုတ်ခင်းကျင်းမှုကိုပြန်ပေးရန်ဆုံးဖြတ်ခြင်းရှိမရှိဆုံးဖြတ်ပါ။

  • ရှုထောင့်အမျိုးမျိုးသို့မဟုတ်အရာဝတ်ထုများအတွက်, access levels များအတွက် access ကို အဆင့် ဆင့်တိကျစွာနှင့်ရောနှောခြင်းမှရှောင်ရှားရန်ရှောင်ကြဉ်ပါ

  • လိုအပ်သည့်အခါရှုပ်ထွေးသော multidimensional ဖွဲ့စည်းတည်ဆောက်ပုံများကိုကိုင်တွယ်ရန် recursive functions များကိုအသုံးပြုပါ။

အထက်ပါအချက်များကိုသင်ကျွမ်းကျင်နေသမျှကာလပတ်လုံးသင်တုန့်ရောသော JSONS ဒေတာများကိုခွဲခြမ်းစိတ်ဖြာခြင်းနှင့်ပိုမိုကောင်းမွန်သော PHP code ကိုရေးသည့်အခါ JSON_Decode ၏ထောင်ချောက်များကိုထိရောက်စွာရှောင်ရှားနိုင်သည်။