Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk menghuraikan json ke dalam tatasusunan dalam php

Bagaimana untuk menghuraikan json ke dalam tatasusunan dalam php

WBOY
WBOYasal
2023-05-07 18:06:15793semak imbas

Dengan pembangunan aplikasi web, pemprosesan data JSON (JavaScript Object Notation) telah menjadi tugas biasa PHP ialah bahasa yang popular, dan banyak pembangun web memilih untuk menggunakan PHP untuk memproses data JSON. Dalam artikel ini, kami akan membincangkan cara menghuraikan JSON ke dalam tatasusunan dalam PHP.

  1. fungsi json_decode()

Fungsi json_decode() terbina dalam PHP boleh menghuraikan rentetan JSON ke dalam objek atau tatasusunan PHP. Apabila menghuraikan JSON sebagai tatasusunan, anda boleh menghuraikan JSON sebagai tatasusunan bersekutu dan bukannya objek PHP dengan menetapkan parameter kedua kepada benar dalam fungsi json_decode(). Contohnya:

$json = '{"name": "John", "age": 30, "city": "New York"}';
$arr = json_decode($json, true);
print_r($arr);

Kod di atas akan mengeluarkan hasil berikut:

Array
(
    [name] => John
    [age] => 30
    [city] => New York
)
  1. JSON pemprosesan tatasusunan bersarang

Jika data JSON mengandungi tatasusunan bersarang , Anda boleh menggunakan gelung foreach untuk mengulang tatasusunan. Sebagai contoh, berikut ialah data JSON untuk tatasusunan bersarang:

{
    "name": "John",
    "age": 30,
    "city": "New York",
    "contacts": [
        {
            "type": "phone",
            "number": "555-5555"
        },
        {
            "type": "email",
            "address": "john@example.com"
        }
    ]
}

Anda boleh menggunakan fungsi json_decode() untuk menghuraikannya ke dalam tatasusunan PHP:

$json = '{
    "name": "John",
    "age": 30,
    "city": "New York",
    "contacts": [
        {
            "type": "phone",
            "number": "555-5555"
        },
        {
            "type": "email",
            "address": "john@example.com"
        }
    ]
}';
$arr = json_decode($json, true);

Kod di atas akan mengembalikan yang berikut tatasusunan bersekutu:

Array
(
    [name] => John
    [age] => 30
    [city] => New York
    [contacts] => Array
        (
            [0] => Array
                (
                    [type] => phone
                    [number] => 555-5555
                )
    
            [1] => Array
                (
                    [type] => email
                    [address] => john@example.com
                )
    
        )
    
)

Anda boleh menggunakan gelung foreach untuk mengulang tatasusunan bersarang:

foreach ($arr['contacts'] as $contact) {
    echo $contact['type'] . ': ' . $contact['number'] . '<br>';
}

Output:

phone: 555-5555
email: john@example.com
  1. Pengendalian ralat

Apabila menghuraikan data JSON , ralat mungkin berlaku. Sebagai contoh, apabila rentetan JSON rosak, ia tidak akan dihuraikan dengan betul ke dalam tatasusunan PHP. Dalam kes ini, fungsi json_decode() akan mengembalikan null. Oleh itu, kita harus menyemak sama ada hasil yang dihuraikan adalah batal dan mengendalikan ralat dengan sewajarnya.

Sebagai contoh, kod berikut akan mengembalikan null kerana rentetan JSON tidak dalam format yang betul:

$json = '{"name": "John, "age": 30, "city": "New York"}';
$arr = json_decode($json, true);

Jadi, untuk mengelakkan masalah, kita boleh menyemak sama ada hasil yang dihuraikan adalah null dan output ralat sewajarnya Mesej:

$json = '{"name": "John, "age": 30, "city": "New York"}';
$arr = json_decode($json, true);
if ($arr === null) {
    echo 'JSON解析失败';
} else {
    print_r($arr);
}

Output:

JSON解析失败

Di atas adalah kaedah dan teknik asas untuk menghuraikan JSON ke dalam tatasusunan dalam PHP. Menggunakan teknik ini, anda boleh memproses data JSON dengan mudah. Walau bagaimanapun, dalam aplikasi sebenar, pengendalian ralat yang sepadan dan pengesahan data juga perlu dijalankan mengikut keadaan tertentu.

Atas ialah kandungan terperinci Bagaimana untuk menghuraikan json ke dalam tatasusunan dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:penukaran nombor phpArtikel seterusnya:penukaran nombor php