ホームページ > バックエンド開発 > PHPチュートリアル > PHP で JSON を操作すると「非オブジェクトのプロパティを取得しようとしています」エラーが発生するのはなぜですか?

PHP で JSON を操作すると「非オブジェクトのプロパティを取得しようとしています」エラーが発生するのはなぜですか?

Linda Hamilton
リリース: 2024-10-31 02:18:02
オリジナル
945 人が閲覧しました

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 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート