Rumah  >  Artikel  >  pembangunan bahagian belakang  >  php json kepada fungsi tatasusunan

php json kepada fungsi tatasusunan

王林
王林asal
2023-05-05 21:25:06439semak imbas

Dalam PHP, kita selalunya perlu menukar JSON kepada tatasusunan untuk diproses. Memandangkan format JSON agak ringkas dan mudah difahami, ia telah menjadi format biasa untuk menghantar data antara bahagian hadapan dan belakang Oleh itu, dalam PHP, terdapat beberapa fungsi yang boleh membantu kami menukar JSON kepada tatasusunan.

Artikel ini akan memperkenalkan beberapa JSON yang biasa digunakan kepada fungsi tatasusunan dalam PHP.

  1. json_decode()

fungsi json_decode() ialah fungsi asas dalam PHP untuk menukar rentetan JSON kepada tatasusunan atau objek PHP. Sintaksnya adalah seperti berikut:

mixed json_decode ( string $json [, bool $assoc = FALSE [, int $depth = 512 [, int $options = 0 ]]] )

di mana:

  • $json: rentetan JSON yang perlu ditukar.
  • $assoc: Jika parameter ini BENAR, tatasusunan dikembalikan; jika FALSE, objek Objek dikembalikan.
  • $depth: Menentukan kedalaman maksimum, digunakan untuk mengawal kedalaman panggilan rekursif. Nilai lalai ialah 512.
  • $options: Pilihan pengekodan JSON, anda boleh menentukan format yang ditukar.

Kod sampel:

$json_str = '{"name":"Tom","age":20,"hobby":["reading","writing"]}';
$arr = json_decode($json_str, TRUE);
print_r($arr);

Hasil keluaran:

Array
(
    [name] => Tom
    [age] => 20
    [hobby] => Array
        (
            [0] => reading
            [1] => writing
        )
)

Melalui fungsi json_decode(), kami berjaya menukar rentetan JSON kepada tatasusunan.

  1. json_decode() digunakan dalam kombinasi dengan JSON_THROW_ON_ERROR

Dalam PHP 7.3 dan ke atas, kita boleh menggunakan pilihan JSON_THROW_ON_ERROR untuk membiarkan fungsi json_decode() membuang apabila penukaran ralat berlaku tidak normal. Kod sampel adalah seperti berikut:

$json_str = '{"name":"Tom","age":20,"hobby:["reading","writing"]}';
try {
    $arr = json_decode($json_str, TRUE, 512, JSON_THROW_ON_ERROR);
    print_r($arr);
} catch (JsonException $e) {
    echo 'JSON错误:' . $e->getMessage();
}

Hasil keluaran:

JSON错误:Syntax error

Dalam contoh ini, kerana format rentetan JSON tidak betul, fungsi json_decode() membuang pengecualian dan menggesa mesej ralat.

  1. json_last_error_msg()

Apabila menggunakan fungsi json_decode() untuk menukar rentetan JSON, kadangkala akan berlaku ralat penghuraian Pada masa ini kita boleh menggunakan json_last_error_msg(. ) berfungsi untuk mendapatkan maklumat ralat. Kod sampel adalah seperti berikut:

$json_str = '{"name":"Tom","age":20,"hobby":["reading","writing"';
$arr = json_decode($json_str, TRUE);
if (json_last_error() === JSON_ERROR_NONE) {
    print_r($arr);
} else {
    echo 'JSON错误:' . json_last_error_msg();
}

Hasil output:

JSON错误:Syntax error

Dalam contoh ini, json_last_error_msg() mengembalikan mesej ralat kerana format rentetan yang salah.

  1. json_encode()

Dalam PHP, kami juga boleh menukar tatasusunan PHP kepada rentetan format JSON, yang memerlukan penggunaan fungsi json_encode(). Sintaksnya adalah seperti berikut:

string json_encode ( mixed $value [, int $options = 0 [, int $depth = 512 ]] )

Di mana:

  • $value: Pembolehubah PHP yang perlu ditukar kepada format JSON.
  • $options: Pilihan. Pilihan pengekodan JSON.
  • $depth: pilihan. Nyatakan kedalaman maksimum. Nilai lalai ialah 512.

Kod sampel adalah seperti berikut:

$arr = array('name' => 'Tom', 'age' => 20, 'hobby' => array('reading', 'writing'));
$json_str = json_encode($arr, JSON_UNESCAPED_UNICODE);
echo $json_str;

Hasil keluaran:

{"name":"Tom","age":20,"hobby":["reading","writing"]}

Melalui fungsi json_encode(), kami berjaya menukar tatasusunan PHP menjadi rentetan JSON .

Ringkasan:

Dalam PHP, kita boleh menggunakan fungsi json_decode() untuk menukar rentetan JSON kepada tatasusunan atau objek, dan kita juga boleh menggunakan fungsi json_encode() untuk menukar PHP tatasusunan ke dalam format JSON. Dalam keadaan biasa, anda boleh menggunakan pilihan lalai Jika perlu, anda boleh menggunakan pilihan yang berkaitan untuk mengkonfigurasi. Apabila menghuraikan atau mengekod JSON, kami juga boleh menggunakan fungsi berkaitan untuk mendapatkan maklumat ralat untuk pemprosesan yang lebih baik.

Atas ialah kandungan terperinci php json kepada fungsi tatasusunan. 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