Dalam aplikasi Internet, JSON (JavaScript Object Notation) ialah format pertukaran data yang biasa digunakan. Dalam pembangunan PHP, menukar tatasusunan PHP kepada format JSON adalah operasi yang sangat biasa, kerana tatasusunan PHP boleh mengendalikan sejumlah besar data dengan mudah, dan format JSON membolehkan data ini dihuraikan, dibaca dan disimpan oleh program dan bahasa yang berbeza. Dalam artikel ini, kami akan menunjukkan melalui contoh mudah cara menggunakan PHP untuk menukar data kepada format JSON.
Gunakan fungsi json_encode()
untuk menukar tatasusunan PHP kepada rentetan format JSON. json_encode()
Fungsi ini boleh menerima satu atau lebih parameter, di mana parameter pertama ialah tatasusunan PHP yang akan ditukar. Contoh berikut menunjukkan cara menukar tatasusunan PHP mudah kepada rentetan berformat JSON:
$array = array( 'name' => 'John Doe', 'age' => 30, 'email' => 'johndoe@example.com' ); $json_data = json_encode($array); echo $json_data; // {"name":"John Doe","age":30,"email":"johndoe@example.com"}
Dalam contoh di atas, kami mula-mula mentakrifkan tatasusunan dengan tiga elemen dan menggunakan json_encode()
Fungsi menukarnya menjadi rentetan format JSON. Akhirnya, kami mencetak rentetan pada skrin.
Perlu diambil perhatian bahawa fungsi json_encode()
akan menggunakan format pengekodan UTF-8 pada rentetan JSON yang dijana secara lalai semasa penukaran. Jika anda perlu menggunakan pengekodan lain semasa menukar, sila rujuk dokumentasi untuk fungsi ini.
Jika anda perlu mengeluarkan rentetan JSON yang dijana ke dalam format yang dipercantik dengan lekukan dan ruang, anda boleh menggunakan json_encode()
dalam fungsi JSON_PRETTY_PRINT
Parameter. Contohnya adalah seperti berikut:
$array = array( 'name' => 'John Doe', 'age' => 30, 'email' => 'johndoe@example.com' ); $json_data = json_encode($array, JSON_PRETTY_PRINT); echo $json_data; /* { "name": "John Doe", "age": 30, "email": "johndoe@example.com" } */
Secara lalai, fungsi json_encode()
akan menukar set aksara Cina kepada format pengekodan Unikod, menghasilkan dalam. output JSON Rentetan sukar dibaca. Anda boleh menggunakan parameter JSON_UNESCAPED_UNICODE
untuk menentukan set aksara Cina keluaran JSON. Contohnya adalah seperti berikut:
$array = array( 'name' => '张三', 'age' => 30, 'email' => 'zhangsan@example.com' ); $json_data = json_encode($array, JSON_UNESCAPED_UNICODE); echo $json_data; // {"name":"张三","age":30,"email":"zhangsan@example.com"}
Dalam contoh di atas, kami mengekalkan set aksara Cina asal menggunakan parameter JSON_UNESCAPED_UNICODE
.
Kami juga boleh menggunakan fungsi json_decode()
untuk menghuraikan rentetan berformat JSON ke dalam tatasusunan PHP. Contoh berikut menunjukkan cara menukar semula rentetan JSON dalam contoh di atas ke dalam tatasusunan PHP:
$json_data = '{"name":"John Doe","age":30,"email":"johndoe@example.com"}'; $array = json_decode($json_data, true); print_r($array); /* Array ( [name] => John Doe [age] => 30 [email] => johndoe@example.com ) */
Perlu diambil perhatian bahawa parameter kedua $assoc
ialah parameter pilihan Jika ia ditetapkan Untuk true
, data PHP yang dikembalikan akan menjadi tatasusunan bersekutu (pasangan nilai kunci), sebaliknya jika ia ditetapkan kepada false
, data PHP yang dikembalikan akan menjadi objek.
Dalam pembangunan PHP, pertukaran data menggunakan format JSON adalah sangat biasa. Dengan menggunakan fungsi json_encode()
, kami boleh menukar tatasusunan PHP kepada rentetan berformat JSON dengan mudah dan menggunakan fungsi json_decode()
untuk menghuraikan semula rentetan berformat JSON ke dalam tatasusunan atau objek PHP apabila diperlukan.
Atas ialah kandungan terperinci Mari kita bincangkan tentang cara menggunakan PHP untuk menukar data kepada format JSON. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!