首頁 >後端開發 >php教程 >如何使用 PHP 存取 JSON 資料?

如何使用 PHP 存取 JSON 資料?

Linda Hamilton
Linda Hamilton原創
2024-12-23 10:09:40373瀏覽

How Do I Access Data from JSON Using PHP?

How do I access data from JSON with PHP?

PHP提供了 json_decode() 函數來解碼 JSON 字串,將其轉換為 PHP 資料結構。讓我們深入研究如何存取結果:

物件屬性存取:

物件屬性可以透過 $object->property的方式訪問,例如:

$json = '{"type": "donut", "name": "Cake"}';
$yummy = json_decode($json);
echo $yummy->type; // "donut"

數組元素訪問:

數組元素可以透過 $array[0]的方式訪問,例如:

$json = '["Glazed", "Chocolate with Sprinkles", "Maple"]';
$toppings = json_decode($json);
echo $toppings[1]; // "Chocolate with Sprinkles"

嵌套項目訪問:

嵌套項目可以通過連續的屬性和索引訪問,例如$object->array [0]->etc。 :

$json = '{"type": "donut", "name": "Cake", "toppings": [{"id": "5002", "type": "Glazed"}]}';
$yummy = json_decode($json);
echo $yummy->toppings[0]->id; // "5002"

轉換為關聯數組:

傳遞 true 作為 json_decode() 的第二個參數,可以將 JSON物件解碼為關聯數組,其鍵為字串:

$json = '{"type": "donut", "name": "Cake"}';
$yummy = json_decode($json, true);
echo $yummy['type']; // "donut"

存取關聯數組項目:

可以透過foreach (array_expression as $key => $value )遍歷鍵與值:

$json = '{"foo": "foo value", "bar": "bar value", "baz": "baz value"}';
$assoc = json_decode($json, true);
foreach ($assoc as $key => $value) {
    echo "The value of key '$key' is '$value'" . PHP_EOL;
}

輸出:

The value of key 'foo' is 'foo value'
The value of key 'bar' is 'bar value'
The value of key 'baz' is 'baz value'

未知資料結構:

如果不知道資料結構,請參考相關文件或使用print_r()檢查結果:

print_r(json_decode($json));

json_decode() 傳回 null:

當 JSON 為 null 或無效時,就會出現這種情況。使用 json_last_error_msg() 檢查錯誤訊息。

特別字元屬性名稱:

使用{"@attributes":{"answer":42}} 存取特殊字元的屬性名稱:

$json = '{"@attributes":{"answer":42}}';
$thing = json_decode($json);
echo $thing->{'@attributes'}->answer; //42

以上是如何使用 PHP 存取 JSON 資料?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn