php 將json轉成陣列對象
在Web開發中,經常會涉及從前端頁面提交JSON格式的資料到後端,然後需要將這些資料轉換為PHP可以操作的陣列或物件形式。本文將介紹如何使用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" ] }
登入後複製
登入後複製
在實際開發中,經常會使用AJAX技術向後端伺服器提交JSON數據,然後透過PHP將其轉換為可操作的形式。掌握以上JSON相關的PHP函數,能夠更方便地處理JSON資料。
以上是php 將json轉成陣列對象的詳細內容。更多資訊請關注PHP中文網其他相關文章!
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章
Windows 11 KB5054979中的新功能以及如何解決更新問題
3 週前
By DDD
如何修復KB5055523無法在Windows 11中安裝?
2 週前
By DDD
Inzoi:如何申請學校和大學
3 週前
By DDD
如何修復KB5055518無法在Windows 10中安裝?
2 週前
By DDD
Roblox:Dead Rails - 如何召喚和擊敗Nikola Tesla
4 週前
By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)