Cara menukar php json kepada objek: 1. Cipta fail sampel PHP 2. Tentukan pembolehubah "$json" 3. Dapatkan objek objek melalui kaedah "json_decode($json);"
Persekitaran pengendalian artikel ini: sistem Windows 7, PHP versi 7.1, komputer Dell G3.
Bagaimana untuk menukar php json kepada objek?
Tukar rentetan php json kepada tatasusunan atau objek
Kaedah yang terdapat di Internet ialah menggunakan get_object_vars untuk menukar jenis kelas kepada tatasusunan dan kemudian gunakan foreach untuk melintasi Itu sahaja
$array = get_object_vars($test); $json= '[{"id":"1","name":"\u5f20\u96ea\u6885","age":"27","subject":"\u8ba1\u7b97\u673a\u79d1\u5b66\u4e0e\u6280\u672f"},{"id":"2","name":"\u5f20\u6c9b\u9716","age":"21","subject":"\u8f6f\u4ef6\u5de5\u7a0b"}]';
Mula-mula gunakan json_decode untuk mengekod rentetan dalam format JSON,
$students = json_decode($json);
Gunakan $students terus dalam fail PHP:
for($i=0;$i<count($students);$i++){ echo "姓名:".$students[$i]['name']."年龄:".$students[$i]['age']."专业:".$students[$i]['subject']."<br/>"; }
Ralat dilaporkan seperti berikut:
Ralat maut: Tidak boleh menggunakan objectof type stdClass sebagai tatasusunan dalam D:wampwwwtest.phppada talian 18
Pada masa ini, cetak $pelajar:
var_dump($students);
akan mengeluarkan:
array(2) { [0]=> object(stdClass)#2 (4) { ["id"]=> string(1)"1" ["name"]=> string(9)"张雪梅" ["age"]=> string(2)"27" object(stdClass)#3 (4) { 这个就说明转换的json字符串转为对象而非数组,请看下面的红色背景字 ["subject"]=>string(24) "计算机科学与技术" } [1]=> ["id"]=> string(1)"2" ["name"]=> string(9)"张沛霖" ["age"]=> string(2)"21" ["subject"]=> string(12) "软件工程" } }
Ia dapat dilihat bahawa hasil yang dikembalikan adalah objek dan bukannya tatasusunan . Harus diakses dalam bentuk objek:
foreach($students as $obj){ echo "姓名:".$obj->name."年龄:".$obj->age."专业:".$obj->subject."<br/>"; }
Hasil output ialah:
姓名:张雪梅 年龄:27 专业:计算机科学与技术 姓名:张沛霖 年龄:21 专业:软件工程
campuranjson_decode ( string$json [, bool$assoc ] )
Penerangan: Menerima rentetan format JSON dan menukarnya menjadi pembolehubah PHP.
json_decode boleh menerima dua parameter:
json: rentetan dalam jsonformat rentetan untuk dinyahkod.
assoc: Apabila parameter ini TRUE, tatasusunan akan dikembalikan dan bukannya objek.
$students = json_decode($json,true);
Cetak $pelajar pada masa ini:
var_dump($students);
Output:
array(2) { [0]=> array(4) { ["id"]=> string(1)"1" ["name"]=> string(9)"张雪梅" ["age"]=> string(2)"27" ["subject"]=>string(24) "计算机科学与技术" } [1]=> array(4) { ["id"]=> string(1)"2" ["name"]=> string(9)"张沛霖" ["age"]=> string(2)"21" ["subject"]=>string(12) "软件工程" } }
Pada masa ini, $students ialah array, anda boleh Gunakan terus:
for($i=0;$i<count($students);$i++){ echo "姓名:".$students[$i]['name']."年龄:".$students[$i]['age']."专业:".$students[$i]['subject']."<br/>"; }
Hasil output ialah:
姓名:张雪梅 年龄:27 专业:计算机科学与技术 姓名:张沛霖 年龄:21 专业:软件工程
Ringkasan:
Memproses rentetan format JSON dalam kod PHP Dua kaedah :
Kaedah satu:
$json= '[{"id":"1","name":"\u5f20\u96ea\u6885","age":"27","subject":"\u8ba1\u7b97\u673a\u79d1\u5b66\u4e0e\u6280\u672f"},{"id":"2","name":"\u5f20\u6c9b\u9716","age":"21","subject":"\u8f6f\u4ef6\u5de5\u7a0b"}]'; $students= json_decode($json);//得到的是 object foreach($studentsas $obj){ echo "姓名:".$obj->name." 年 龄:".$obj->age." 专 业:".$obj->subject."<br />";}
Kaedah dua:
$json= '[{"id":"1","name":"\u5f20\u96ea\u6885","age":"27","subject":"\u8ba1\u7b97\u673a\u79d1\u5b66\u4e0e\u6280\u672f"},{"id":"2","name":"\u5f20\u6c9b\u9716","age":"21","subject":"\u8f6f\u4ef6\u5de5\u7a0b"}]'; $students= json_decode($json, true);//得到的是 array for($i=0;$i<count($students);$i++){ echo "姓名:".$students[$i]['name']." 年 龄:".$students[$i]['age']." 专 业:".$students[$i]['subject']."<br />";
Pembelajaran yang disyorkan: "Tutorial Video PHP"
------------------------------------------------ ------------------------------------------------- ---------------------------------
Atas ialah kandungan terperinci Bagaimana untuk menukar php json kepada objek. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!