Mengirim data dalam format JSON ialah operasi yang sangat biasa semasa proses pengekodan. PHP menyediakan fungsi yang dipanggil json_decode()
untuk menukar rentetan JSON kepada nilai PHP. Artikel ini menerangkan cara menggunakan PHP untuk menukar JSON kepada tatasusunan dan objek.
json_decode()
Andaikan kita mempunyai rentetan JSON berikut:
{ "name": "Tom", "age": 30, "hobbies": ["reading", "running", "swimming"], "address": { "city": "Beijing", "country": "China" } }
Sekarang kita perlu menukarnya kepada tatasusunan PHP. Kita boleh menggunakan fungsi json_decode()
dan menetapkan parameter kedua kepada true
untuk menukar rentetan JSON kepada tatasusunan bersekutu Kodnya adalah seperti berikut:
$jsonString = '{"name":"Tom","age":30,"hobbies":["reading","running","swimming"],"address":{"city":"Beijing","country":"China"}}'; $assocArray = json_decode($jsonString, true); print_r($assocArray);
Hasil output ialah:
Array ( [name] => Tom [age] => 30 [hobbies] => Array ( [0] => reading [1] => running [2] => swimming ) [address] => Array ( [city] => Beijing [country] => China ) )
json_decode()
dan menetapkan parameter kedua kepada json_decode()
atau meninggalkannya untuk menukar rentetan JSON kepada objek Kodnya adalah seperti berikut: false
$jsonString = '{"name":"Tom","age":30,"hobbies":["reading","running","swimming"],"address":{"city":"Beijing","country":"China"}}'; $obj = json_decode($jsonString); var_dump($obj);
object(stdClass)#1 (4) { ["name"]=> string(3) "Tom" ["age"]=> int(30) ["hobbies"]=> array(3) { [0]=> string(7) "reading" [1]=> string(7) "running" [2]=> string(8) "swimming" } ["address"]=> object(stdClass)#2 (2) { ["city"]=> string(7) "Beijing" ["country"]=> string(5) "China" } }
json_decode()
$jsonString = '[{"name":"Tom","age":30},{"name":"Alice","age":25},{"name":"Bob","age":40}]'; $array = json_decode($jsonString, true); $objArray = array_map(function($item) { return (object) $item; }, $array); print_r($objArray);
Array ( [0] => stdClass Object ( [name] => Tom [age] => 30 ) [1] => stdClass Object ( [name] => Alice [age] => 25 ) [2] => stdClass Object ( [name] => Bob [age] => 40 ) )
dan tentukan parameter yang sesuai. Ini berguna kerana kebanyakan API web mengembalikan data dalam JSON. json_decode()
Atas ialah kandungan terperinci Bagaimana untuk menukar json menjadi objek tatasusunan objek dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!