Dengan pembangunan berterusan dan aplikasi teknologi Internet, interaksi data bahagian hadapan dan belakang telah menjadi bahagian penting dalam pembangunan Web. Sebagai format pertukaran data yang ringan, JSON telah menjadi salah satu pilihan yang paling popular. Sebagai bahasa penting dalam bidang pembangunan web, PHP juga menyediakan perpustakaan fungsi pemprosesan JSON yang lengkap, jadi pembangun boleh menghuraikan dan menjana data JSON dengan mudah. Artikel ini akan memperkenalkan cara menghuraikan dan menjana JSON dalam PHP.
1. Konsep asas JSON
JSON (JavaScript Object Notation) ialah format pertukaran data ringan yang menerangkan struktur data dalam format teks yang ringkas. JSON menggunakan pasangan nilai kunci untuk mewakili data dan menyokong jenis data asas, tatasusunan, objek dan struktur data lain. Sintaksnya sangat serupa dengan literal objek JavaScript kerana JSON berasal daripada literal objek JavaScript.
Berikut ialah contoh JSON yang mudah:
{ "name": "Jack", "age": 22, "address": { "province": "Guangdong", "city": "Shenzhen" }, "hobby": ["reading", "music"] }
Contoh di atas mengandungi objek yang mengandungi empat pasangan nilai kunci. Antaranya, name
dan age
ialah jenis data asas, address
ialah objek dan hobby
ialah tatasusunan. Seperti yang anda lihat, format data JSON sangat ringkas dan jelas.
2. Menghuraikan data JSON
PHP menyediakan fungsi json_decode()
untuk menghuraikan data JSON. Parameter fungsi ini ialah rentetan dalam format JSON dan nilai pulangan ialah objek atau tatasusunan. Jika penghuraian gagal, NULL
dikembalikan.
Berikut ialah penggunaan asas fungsi json_decode()
:
$jsonStr = '{"name":"Jack","age":22}'; $jsonObj = json_decode($jsonStr); echo $jsonObj->name; // 输出 Jack echo $jsonObj->age; // 输出 22
Dalam contoh di atas, rentetan berformat JSON $jsonStr
pertama kali ditakrifkan, yang mewakili rentetan yang mengandungi name
dan age
Objek pasangan nilai kunci. Seterusnya, gunakan fungsi json_decode()
untuk menghuraikan $jsonStr
ke dalam objek $jsonObj
. Akhir sekali, nilai $jsonObj
dan name
diakses melalui age
objek dan output.
Apabila data JSON mengandungi tatasusunan atau struktur bersarang yang lebih dalam, fungsi json_decode()
boleh menghuraikannya secara automatik ke dalam tatasusunan berbilang dimensi. Berikut ialah contoh JSON yang mengandungi tatasusunan dan objek:
$jsonStr = '{ "name": "Jack", "friends": [ { "name": "Tom", "age": 22 }, { "name": "Jerry", "age": 23 } ] }'; $jsonArr = json_decode($jsonStr, true); echo $jsonArr['friends'][0]['name']; // 输出 Tom
Dalam contoh di atas, memandangkan parameter kedua ditetapkan kepada true
, json_decode()
mengembalikan tatasusunan bersekutu dan bukannya objek. Data dalam $jsonArr
boleh diakses melalui pengindeksan tatasusunan berbilang dimensi.
3. Hasilkan data JSON
PHP juga menyediakan fungsi json_encode()
untuk menukar objek atau tatasusunan kepada rentetan JSON, yang boleh digunakan terus untuk data bahagian hadapan dan belakang interaksi.
Berikut ialah penggunaan asas fungsi json_encode()
:
$data = [ 'name' => 'Tom', 'age' => 22 ]; echo json_encode($data); // 输出 {"name":"Tom","age":22}
Dalam contoh di atas, mula-mula tentukan tatasusunan bersekutu yang mengandungi dua pasangan nilai kunci name
dan age
$data
. Seterusnya, gunakan fungsi json_encode()
untuk menukar $data
menjadi rentetan JSON dan mengeluarkannya.
Perlu diambil perhatian bahawa apabila objek dan tatasusunan PHP ditukar kepada rentetan JSON, bahasa Cina akan terlepas ke pengekodan Unicode secara lalai Anda boleh mengelakkan pelarian bahasa Cina dengan menetapkan pemalar JSON_UNESCAPED_UNICODE
. Pada masa yang sama, anda juga boleh menetapkan simbol lekukan dan ruang format output.
Berikut ialah parameter pilihan biasa bagi fungsi json_encode()
:
JSON_PRETTY_PRINT
menjadikan format output diinden dan menjadikan penulisan lebih mesra. JSON_UNESCAPED_UNICODE
tidak terlepas daripada aksara Cina. JSON_UNESCAPED_SLASHES
Jangan terlepas daripada tebasan. JSON_NUMERIC_CHECK
Tukar nombor jenis rentetan kepada jenis angka. JSON_FORCE_OBJECT
Tukar tatasusunan kepada output objek, memastikan objek yang dikembalikan mestilah dalam bentuk objek. Parameter di atas boleh digunakan secara gabungan, seperti:
$data = [ 'name' => 'Tom', 'age' => 22 ]; echo json_encode($data, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE);
Dalam contoh di atas, dua parameter JSON_PRETTY_PRINT
dan JSON_UNESCAPED_UNICODE
digunakan dalam gabungan, dan format output diinden dan Jangan lari daripada bahasa Cina.
4. Ringkasan
Dalam PHP, menggunakan format JSON untuk interaksi data telah menjadi salah satu amalan yang paling biasa. Artikel ini bermula daripada konsep JSON dan memperkenalkan kaedah menghurai dan menjana JSON dalam PHP. Pembangun boleh memilih kaedah yang sesuai untuk melaksanakan operasi JSON berdasarkan keperluan sebenar. Memahami pengetahuan JSON yang berkaitan akan membantu kami berinteraksi dengan lebih baik dengan data bahagian hadapan dan belakang serta meningkatkan kecekapan pembangunan aplikasi web.
Atas ialah kandungan terperinci Panduan untuk penghuraian dan penjanaan JSON dalam PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!