Rumah > Artikel > pembangunan bahagian belakang > Bagaimana untuk menukar tatasusunan menjadi data json dalam php
PHP ialah bahasa skrip sebelah pelayan yang digunakan secara meluas yang biasa digunakan dalam pembangunan tapak web, penjanaan halaman web dinamik dan pembangunan aplikasi web. Dalam pembangunan banyak aplikasi, penghantaran data adalah bahagian yang sangat penting, dan JSON ialah format pertukaran data ringan yang digunakan secara meluas kerana kesederhanaan, kemudahan penggunaan dan kebolehskalaannya. Dalam PHP, kita boleh menggunakan fungsi terbina dalam untuk menukar tatasusunan kepada format JSON.
fungsi json_encode() ialah kaedah paling asas dalam PHP untuk menukar tatasusunan kepada format JSON. Sebagai fungsi terbina dalam, penggunaannya sangat mudah Anda hanya perlu menghantar dalam tatasusunan untuk ditukar sebagai parameter. Sebagai contoh, kami mempunyai tatasusunan berikut:
$data = array( 'name' => 'John', 'age' => 20, 'gender' => 'male' );
Kita boleh menggunakan kod berikut untuk menukar tatasusunan kepada format JSON:
$json_data = json_encode($data);
Selepas penukaran, $json_data akan kelihatan seperti ini Rentetan JSON:
{ "name": "John", "age": 20, "gender": "male" }
Perlu diambil perhatian bahawa fungsi json_encode() akan melepaskan aksara bukan ASCII ke dalam pengekodan Unicode secara lalai Jika anda perlu menjana rentetan JSON yang dikodkan ASCII, anda perlu melakukannya tambahkannya dalam fungsi Tambah parameter JSON_UNESCAPED_UNICODE.
$json_data = json_encode($data, JSON_UNESCAPED_UNICODE);
Dalam sesetengah kes, kita perlu mendapatkan data JSON melalui kaedah merentas domain dan JSONP ialah data JSON yang dibenarkan format untuk permintaan merentas domain. Dalam PHP, kita boleh menggunakan fungsi json_encode() untuk menjana data JSON yang menyokong JSONP. Untuk data JSON yang menyokong JSONP, nama fungsi panggil balik perlu dihantar sebagai parameter kedua bagi fungsi json_encode(). Contohnya:
$data = array( 'name' => 'John', 'age' => 20, 'gender' => 'male' ); $callback = $_GET['callback']; $json_data = json_encode($data); echo $callback . '(' . $json_data . ')';
Kod ini akan menjana data dalam format berikut:
callback_name({ "name": "John", "age": 20, "gender": "male" })
Apabila kami meminta data JSON menggunakan kaedah silang domain, nama fungsi panggil balik akan berada dalam data tindak balas dipanggil.
fungsi json_decode() ialah fungsi yang menukar data format JSON kepada tatasusunan PHP. Tidak seperti fungsi json_encode(), json_decode() memerlukan dua parameter: rentetan JSON dan parameter pilihan $assoc. Apabila $assoc adalah benar, fungsi akan menukar rentetan JSON kepada tatasusunan bersekutu PHP, jika tidak, ia akan ditukar menjadi objek PHP. Contohnya:
$json_data = '{ "name": "John", "age": 20, "gender": "male" }'; $data = json_decode($json_data, true); var_dump($data);
Selepas penukaran, $data akan menjadi tatasusunan dalam format berikut:
array(3) { ["name"]=> string(4) "John" ["age"]=> int(20) ["gender"]=> string(4) "male" }
Perlu diambil perhatian bahawa jika rentetan JSON tidak mematuhi JSON format atau pengekodan tidak betul Ralat, fungsi json_decode() akan mengembalikan nilai nol.
Akhir sekali, perlu dinyatakan bahawa walaupun fungsi json_encode() dan json_decode() menyediakan kaedah yang mudah untuk menukar tatasusunan dan data format JSON dalam PHP, anda juga perlu memberi perhatian kepada isu keselamatan data. Semasa penghantaran data, data perlu ditapis dan disahkan dengan selamat untuk mengelakkan serangan berniat jahat dan kebocoran data.
Atas ialah kandungan terperinci Bagaimana untuk menukar tatasusunan menjadi data json dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!