Rumah > pembangunan bahagian belakang > masalah PHP > php json kepada fungsi tatasusunan

php json kepada fungsi tatasusunan

王林
Lepaskan: 2023-05-05 21:25:06
asal
523 orang telah melayarinya

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 ]]] )
Salin selepas log masuk

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);
Salin selepas log masuk

Hasil keluaran:

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

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();
}
Salin selepas log masuk

Hasil keluaran:

JSON错误:Syntax error
Salin selepas log masuk
Salin selepas log masuk

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();
}
Salin selepas log masuk

Hasil output:

JSON错误:Syntax error
Salin selepas log masuk
Salin selepas log masuk

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 ]] )
Salin selepas log masuk

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;
Salin selepas log masuk

Hasil keluaran:

{"name":"Tom","age":20,"hobby":["reading","writing"]}
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan