Rumah >pembangunan bahagian belakang >masalah PHP >php json kepada fungsi tatasusunan
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.
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:
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.
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.
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.
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:
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!