Rumah >pembangunan bahagian belakang >masalah PHP >Bagaimana untuk menukar json menjadi objek tatasusunan objek dalam php
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 ) )<.>Seperti yang anda lihat, kami berjaya menukar rentetan JSON kepada tatasusunan PHP dan mencetak hasilnya. Tukar kepada objek menggunakan
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);Hasil output ialah:
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" } }Seperti yang anda lihat, kami berjaya menukar rentetan JSON kepada objek PHP dan mencetak hasilnya. Tukar kepada tatasusunan objek menggunakan
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);Hasil output ialah:
Array ( [0] => stdClass Object ( [name] => Tom [age] => 30 ) [1] => stdClass Object ( [name] => Alice [age] => 25 ) [2] => stdClass Object ( [name] => Bob [age] => 40 ) )Seperti yang anda lihat, kami berjaya menukar rentetan JSON ke dalam tatasusunan objek PHP dan mencetak hasilnya. Ringkasnya, PHP menyediakan cara yang sangat mudah untuk menukar rentetan JSON kepada tatasusunan dan objek PHP. Kita hanya perlu menggunakan fungsi
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!