首頁 > 後端開發 > php教程 > 為什麼在 PHP 中使用 JSON 時會出現「嘗試取得非物件的屬性」錯誤?

為什麼在 PHP 中使用 JSON 時會出現「嘗試取得非物件的屬性」錯誤?

Linda Hamilton
發布: 2024-10-31 02:18:02
原創
943 人瀏覽過

Why Am I Getting the

排除PHP 中的「嘗試取得非物件的屬性」錯誤

當嘗試從JSON 端點擷取資料時,您可以遇到“嘗試取得非物件的屬性”錯誤。當您嘗試存取不是物件的變數的屬性時,就會發生這種情況。

在提供的程式碼中,您嘗試從 JSON 回應中檢索 player_name 變數。但是,收到的回應是一個包含單一物件的數組,而不是直接包含一個物件。這可以透過您提供的 var_dump 輸出來確認,該輸出顯示:

array(1) { [0]=> object(stdClass)#52 {...} }
登入後複製

要解決此錯誤,您需要先存取陣列元素(它是物件),然後存取其屬性。這是修正後的程式碼:

$js = file_get_contents('http://api.convoytrucking.net/api.php?api_key=public&show=player&player_name=Mick_Gibson');
$pjs = json_decode($js);
echo $pjs[0]->player_name;  // Correctly access the object attribute
登入後複製

此修改後的程式碼成功檢索了player_name變量,而沒有出現「嘗試取得非物件的屬性」錯誤。請記住仔細檢查 JSON 回應的結構,以確保您正確存取屬性。

以上是為什麼在 PHP 中使用 JSON 時會出現「嘗試取得非物件的屬性」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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