您好,登錄后才能下訂單哦!
這篇“php將json轉成數組對象的方法是什么”文章的知識點大部分人都不太理解,所以小編給大家總結了以下內容,內容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“php將json轉成數組對象的方法是什么”文章吧。
JSON是一種輕量級的數據交換格式,具有結構清晰、易于讀寫等特點。PHP內置JSON處理函數,可以很方便地將JSON轉化為數組或對象形式。
假設我們有如下JSON數據:
{ "name": "Tom", "age": 20, "address": { "province": "Guangdong", "city": "Guangzhou" }, "hobbies": [ "reading", "swimming" ] }
使用PHP的json_decode()
函數可以將其轉化為數組對象。函數的用法如下:
array|object json_decode(string $json[, bool $assoc = false[, int $depth = 512[, int $options = 0]]])
參數說明:
$json:需要解碼的JSON字符串。
$assoc(可選):當該參數為真時,將返回數組形式,為假時返回對象形式。默認為假。
$depth(可選):設置解析JSON數據的最大深度。默認為512,超出范圍將返回null。
$options(可選):設置JSON解碼器的選項,如JSON_BIGINT_AS_STRING可以將大整數視為字符串返回。
代碼示例:
$jsonStr = '{ "name": "Tom", "age": 20, "address": { "province": "Guangdong", "city": "Guangzhou" }, "hobbies": [ "reading", "swimming" ] }'; $array = json_decode($jsonStr, true); print_r($array);
輸出結果:
Array ( [name] => Tom [age] => 20 [address] => Array ( [province] => Guangdong [city] => Guangzhou ) [hobbies] => Array ( [0] => reading [1] => swimming ) )
可以看到,json_decode()
函數將JSON字符串轉化為了PHP數組對象。
如果要將JSON數據轉化為PHP對象形式,可以去掉函數中的第二個參數或將其設置為false。
除了將JSON數據轉化為數組或對象形式,PHP還可以將數組或對象形式的數據編碼為JSON字符串。這可以使用PHP的json_encode()
函數實現。函數用法如下:
string json_encode(mixed $value[, int $options = 0[, int $depth = 512]])
參數說明:
$value:需要編碼為JSON字符串的值。
$options(可選):設置JSON編碼器的選項,如JSON_PRETTY_PRINT可以使編碼后的JSON字符串更易于閱讀。
$depth(可選):設置編碼JSON數據的最大深度。默認為512,超出范圍將返回空字符串。
代碼示例:
$array = array( 'name' => 'Tom', 'age' => 20, 'address' => array( 'province' => 'Guangdong', 'city' => 'Guangzhou' ), 'hobbies' => array( 'reading', 'swimming' ) ); $jsonStr = json_encode($array, JSON_PRETTY_PRINT); echo $jsonStr;
輸出結果:
{ "name": "Tom", "age": 20, "address": { "province": "Guangdong", "city": "Guangzhou" }, "hobbies": [ "reading", "swimming" ] }
以上就是關于“php將json轉成數組對象的方法是什么”這篇文章的內容,相信大家都有了一定的了解,希望小編分享的內容對大家有幫助,若想了解更多相關的知識內容,請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。