您好,登錄后才能下訂單哦!
這篇文章主要介紹“php如何將json轉成數組對象”,在日常操作中,相信很多人在php如何將json轉成數組對象問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”php如何將json轉成數組對象”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
json_decode()
轉換為數組假設我們有以下 JSON 字符串:
{ "name": "Tom", "age": 30, "hobbies": ["reading", "running", "swimming"], "address": { "city": "Beijing", "country": "China" } }
現在我們需要將其轉換為 PHP 數組。我們可以使用 json_decode()
函數,并將第二個參數設置為 true
,以表示將 JSON 字符串轉換為關聯數組,代碼如下:
$jsonString = '{"name":"Tom","age":30,"hobbies":["reading","running","swimming"],"address":{"city":"Beijing","country":"China"}}'; $assocArray = json_decode($jsonString, true); print_r($assocArray);
輸出結果為:
Array ( [name] => Tom [age] => 30 [hobbies] => Array ( [0] => reading [1] => running [2] => swimming ) [address] => Array ( [city] => Beijing [country] => China ) )
可以看到,我們成功將 JSON 字符串轉換為了 PHP 數組,并打印了其結果。
json_decode()
轉換為對象除了將 JSON 字符串轉換為 PHP 數組外,我們還可以將其轉換為 PHP 對象。同樣地,我們可以使用 json_decode()
函數,并將第二個參數設置為 false
或省略,以表示將 JSON 字符串轉換為對象,代碼如下:
$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 字符串轉換為了 PHP 對象,并打印了其結果。
json_decode()
轉換為對象數組在某些情況下,我們需要將 JSON 字符串轉換為多個 PHP 對象。在這種情況下,我們可以先將其轉換為 PHP 數組,然后使用數組映射函數將其轉換為 PHP 對象數組。代碼如下:
$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 ) )
可以看到,我們成功將 JSON 字符串轉換為了 PHP 對象數組,并打印了其結果。
到此,關于“php如何將json轉成數組對象”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。