JSON 或JavaScript 物件表示法,是一種文字-基於常用於機器或應用程式之間的資料交換的格式。在 PHP 中,您可以使用 json_decode() 函數將 JSON 字串解碼為 PHP 資料結構。
如果解碼 JSON 對象,您將獲得 stdClass 的實例, PHP 中的通用對象類型。若要存取其屬性,請使用箭頭運算子 (->) 語法:
$json = '{ "name": "John" }'; $object = json_decode($json); echo $object->name; // John
解碼 JSON 陣列時,您將獲得常規 PHP 陣列。您可以使用陣列括號表示法 ([]) 存取其元素:
$json = '[ "Apple", "Banana", "Orange" ]'; $array = json_decode($json); echo $array[1]; // Banana
您可以使用 foreach 循環迭代數組。對於關聯數組(當您使用 true 作為 json_decode() 的第二個參數將 JSON 物件解碼為陣列時),您可以使用 foreach (array_expression as $key => $value) 語法進行迭代。
JSON 可以有巢狀物件和陣列。若要存取嵌套結構的屬性或元素,請使用與上面相同的語法,將 -> 連結起來。或 [] 運算子:
$json = '{ "user": { "name": "Emily", "email": "emily@example.com" } }'; $user = json_decode($json); echo $user->user->name; // Emily
將 JSON 物件解碼為關聯數組時,鍵將為字串。您可以使用帶有字串鍵的陣列括號表示法來存取它們:
$json = '{ "firstName": "Joe", "lastName": "Doe" }'; $assoc = json_decode($json, true); echo $assoc['firstName']; // Joe
json_decode() 傳回null:
物件屬性名稱包含特殊字元:
使用花括號存取具有特殊字元的物件屬性:
$json = '{"@attributes":{"answer":42}}'; $object = json_decode($json); echo $object->{'@attributes'}->answer; // 42
以上是如何使用 PHP 有效地從 JSON 中提取和存取資料?的詳細內容。更多資訊請關注PHP中文網其他相關文章!