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

如何使用 PHP 存取 JSON 資料?

Linda Hamilton
發布: 2024-12-23 10:09:40
原創
368 人瀏覽過

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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板