JSON (JavaScript Object Notation) ialah format pertukaran data ringan yang biasa digunakan untuk penghantaran data bahagian hadapan dan belakang. Tatasusunan PHP ialah struktur data yang sangat biasa, terutamanya digunakan untuk menyimpan dan memanipulasi data. Dalam pembangunan sebenar, kita selalunya perlu menukar data JSON yang diterima dari bahagian hadapan ke dalam tatasusunan PHP untuk memudahkan pemprosesan dan penyimpanan seterusnya. Artikel ini akan memperkenalkan cara menukar data JSON kepada tatasusunan PHP dan tatasusunan objek.
JSON ialah format pertukaran data ringan yang sangat biasa dalam interaksi hadapan dan belakang. Tidak seperti XML, JSON lebih ringkas dan mudah dihuraikan. Sebagai contoh, berikut ialah contoh data JSON yang mudah:
{ "name": "Lucy", "age": 18, "gender": "female" }
Mari kita lihat struktur data JSON ini. Ia sebenarnya objek yang mengandungi tiga pasangan nilai kunci. Setiap pasangan nilai kunci terdiri daripada kunci dan nilai, dipisahkan dengan titik bertindih, dan pasangan nilai kunci dipisahkan dengan koma. Kuncinya ialah rentetan, dan nilainya boleh menjadi jenis data yang berbeza seperti rentetan, nombor, boolean, objek, tatasusunan, dsb.
Dalam PHP, kita boleh menggunakan fungsi json_decode()
untuk menukar data JSON kepada tatasusunan PHP. Fungsi ini menerima dua parameter Parameter pertama ialah data JSON untuk dihuraikan Parameter kedua ialah nilai Boolean, yang lalai kepada palsu, dan menentukan sama ada untuk menukar data JSON kepada tatasusunan bersekutu dan bukannya objek. Berikut ialah contoh mudah:
$json_data = '{ "name": "Lucy", "age": 18, "gender": "female" }'; $php_data = json_decode($json_data); // 输出转换后的 PHP 数组 var_dump($php_data);
Output adalah seperti berikut:
array(3) { ["name"]=> string(4) "Lucy" ["age"]=> int(18) ["gender"]=> string(6) "female" }
Seperti yang ditunjukkan di atas, fungsi json_decode()
berjaya menukar data JSON kepada tatasusunan PHP. Jika parameter kedua adalah benar, iaitu, menukar data JSON kepada tatasusunan bersekutu, maka kita boleh menulis seperti ini:
$json_data = '{ "name": "Lucy", "age": 18, "gender": "female" }'; $php_data = json_decode($json_data, true); // 输出转换后的 PHP 关联数组 var_dump($php_data);
Hasil output adalah seperti berikut:
array(3) { ["name"]=> string(4) "Lucy" ["age"]=> int(18) ["gender"]=> string(6) "female" }
Jika data JSON mengandungi berbilang objek, kita perlu menukarnya kepada tatasusunan objek PHP. Berikut ialah contoh tatasusunan JSON:
[ { "name": "Lucy", "age": 18, "gender": "female" }, { "name": "Tom", "age": 20, "gender": "male" } ]
Kita boleh menggunakan fungsi json_decode()
untuk menukar tatasusunan JSON ini kepada tatasusunan PHP, dan kemudian gunakan foreach
untuk menggelung tatasusunan dan menukar setiap elemen tatasusunan ke dalam objek PHP. Berikut ialah contoh kod:
$json_data = '[{ "name": "Lucy", "age": 18, "gender": "female" }, { "name": "Tom", "age": 20, "gender": "male" }]'; $php_data = json_decode($json_data); // 将数组元素转换为 PHP 对象 foreach ($php_data as $item) { $obj_array[] = (object) $item; } // 输出转换后的 PHP 对象数组 var_dump($obj_array);
Output adalah seperti berikut:
array(2) { [0]=> object(stdClass)#1 (3) { ["name"]=> string(4) "Lucy" ["age"]=> int(18) ["gender"]=> string(6) "female" } [1]=> object(stdClass)#2 (3) { ["name"]=> string(3) "Tom" ["age"]=> int(20) ["gender"]=> string(4) "male" } }
Dalam kod ini, kami mula-mula menggunakan fungsi json_decode()
untuk menukar data JSON kepada PHP tatasusunan. Kami kemudian melingkari tatasusunan melalui foreach
, menukar setiap elemen tatasusunan menjadi objek PHP dan menyimpannya dalam $obj_array
. Apabila menukar kepada objek PHP, kami menggunakan cast (object)
untuk menukar elemen tatasusunan kepada objek PHP.
Artikel ini menerangkan cara menukar data JSON kepada tatasusunan PHP dan tatasusunan objek. Dalam pembangunan sebenar, kita perlu kerap berinteraksi dengan data bahagian hadapan dan belakang, jadi adalah sangat penting untuk memahami penukaran antara tatasusunan JSON dan PHP. Perlu diingat bahawa apabila menukar, kita perlu mengetahui jenis data yang kita kendalikan untuk menggunakan fungsi yang sepadan dengan betul untuk pemprosesan.
Atas ialah kandungan terperinci Bagaimana untuk menukar json kepada objek array php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!