Dengan perkembangan Internet, interaksi data menjadi semakin kerap, antaranya JSON (JavaScript Object Notation) telah menjadi salah satu format penghantaran data kegemaran semua orang. Oleh itu, pemprosesan data JSON menjadi semakin penting. Artikel ini akan memperkenalkan penggunaan PHP untuk memproses penambahan, pemadaman, pengubahsuaian dan operasi carian fail JSON.
Sebelum menerangkan secara rasmi operasi JSON oleh PHP, fahami asas tatabahasa JSON terlebih dahulu. JSON menggunakan pasangan nilai kunci untuk merekod data, di mana kunci disertakan dalam petikan berganda, diikuti dengan titik bertindih, dan kemudian nilai (boleh menjadi sebarang jenis nilai, seperti: rentetan, nombor, nilai Boolean, tatasusunan, objek , null). Berbilang pasangan nilai kunci dipisahkan dengan koma dan keseluruhan JSON dikelilingi oleh pendakap {}.
Contohnya:
{
"name": "张三", "age": 25, "city": "上海", "friends": [ "李四", "王五", "赵六" ]
}
PHP terbina dalam Terdapat beberapa fungsi untuk memproses data JSON, termasuk:
json_encode(): digunakan untuk menukar tatasusunan PHP kepada rentetan format JSON.
json_decode(): digunakan untuk menukar rentetan format JSON kepada tatasusunan/objek PHP.
json_last_error(): digunakan untuk mendapatkan maklumat ralat yang dijana oleh pengekodan/penyahkodan JSON yang terakhir.
Berikut akan memperkenalkan penggunaan khusus fungsi ini melalui contoh.
Kami menganggap terdapat fail JSON data.json dengan kandungan berikut:
{
"name": "张三", "age": 25, "city": "上海", "friends": [ "李四", "王五", "赵六" ]
}
Kita perlu membaca fail JSON ini dan menghuraikannya ke dalam tatasusunan PHP. Hanya gunakan fungsi json_decode() Kodnya adalah seperti berikut:
// 读取JSON文件 $json_str = file_get_contents('data.json'); // 解析JSON文件为PHP数组 $data = json_decode($json_str, true); // 打印数组 print_r($data);
?>
Hasil output adalah seperti berikut:
Array
(
[name] => 张三 [age] => 25 [city] => 上海 [friends] => Array ( [0] => 李四 [1] => 王五 [2] => 赵六 )
)
Antaranya, parameter kedua bagi fungsi json_decode() adalah benar, menunjukkan penyahkodan ke dalam tatasusunan PHP. Jika parameter ini tidak diluluskan atau palsu diluluskan, ia akan dinyahkodkan menjadi objek PHP.
Dalam PHP, anda boleh menggunakan fungsi json_encode() untuk menukar tatasusunan PHP kepada rentetan dalam format JSON. Contohnya, untuk menukar tatasusunan $data dalam contoh di atas kepada rentetan dalam format JSON, kodnya adalah seperti berikut:
// 将PHP数组转换为JSON格式字符串 $json_str = json_encode($data, JSON_UNESCAPED_UNICODE); // 打印JSON格式字符串 echo $json_str;
?>
Hasil output adalah seperti berikut :
{"name":"Zhang San","umur":25,"city":"Shanghai","friends":["李四","王五","Zhao Liu" ]}
Seperti yang anda lihat, parameter kedua JSON_UNESCAPED_UNICODE bagi fungsi json_encode() bermakna tidak melepaskan bahasa Cina ke dalam pengekodan Unicode.
Seterusnya, kita perlu menulis rentetan format JSON di atas ke dalam fail Anda boleh menggunakan fungsi file_put_contents() Kodnya adalah seperti berikut:
// 将JSON格式字符串写入文件 file_put_contents('result.json', $json_str);
?>
Antaranya, parameter pertama ialah nama fail yang disimpan, dan parameter kedua ialah rentetan format JSON yang akan ditulis.
Mengubah suai fail JSON sebenarnya bermaksud mengubah suai tatasusunan PHP yang sepadan, dan kemudian menukar tatasusunan kepada rentetan format JSON, menimpa fail Just yang asal. Katakan kita ingin menukar umur Zhang San kepada 30 tahun Kodnya adalah seperti berikut:
// 修改PHP数组 $data['age'] = 30; // 将PHP数组转换为JSON格式字符串 $json_str = json_encode($data, JSON_UNESCAPED_UNICODE); // 覆盖原来的JSON文件 file_put_contents('data.json', $json_str);
?>
Untuk memadamkan fail JSON, anda boleh menggunakan fungsi nyahpaut(), seperti berikut:
// 删除JSON文件 unlink('data.json');
?>
Apabila memproses data dalam JSON, kita selalunya perlu menanyakan nilai kunci tertentu. Jika anda perlu menanyakan bandar Zhang San, kodnya adalah seperti berikut:
// 读取JSON文件 $json_str = file_get_contents('data.json'); // 解析JSON文件为PHP数组 $data = json_decode($json_str, true); // 查询张三的城市 $city = $data['city']; // 打印张三的城市 echo $city; // 上海
?>
Seperti yang anda boleh lihat daripada contoh ini, JSON data diproses dalam PHP Tiada perbezaan daripada berurusan dengan tatasusunan atau objek biasa.
Ringkasan
Artikel ini memperkenalkan operasi penambahan, pemadaman, pengubahsuaian dan pertanyaan PHP pada fail JSON, termasuk membaca dan menghuraikan, menulis dan menjana, mengubah suai, memadam dan membuat pertanyaan. Sudah tentu, operasi ini berdasarkan fail atau rentetan JSON, bukan pangkalan data. Oleh itu, apabila kita perlu memproses sejumlah besar data, adalah disyorkan untuk menggunakan pangkalan data dan bukannya fail JSON.
Atas ialah kandungan terperinci PHP menambah, memadam dan mengubah suai fail json. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!