ホームページ >バックエンド開発 >PHPチュートリアル >「json_decode()」を使用して JSON を配列に正しくデコードするにはどうすればよいですか?
エニグマへの対処: json_decode() による配列の作成
エラー「致命的エラー: stdClass 型のオブジェクトを配列として使用できません」が発生する" JSON を配列にデコードしようとしているときは、よくある誤解を意味します。 json_decode() はデフォルトでオブジェクトを作成しますが、2 番目の引数を true に指定すると配列を取得できます。
コードの再確認:
以下のコードは、問題のあるアプローチ:
$json_string = 'http://www.example.com/jsondata.json'; $jsondata = file_get_contents($json_string); $obj = json_decode($jsondata); print_r($obj['Result']);
解決策:
この問題を解決するには、json_decode() の 2 番目の引数として true を指定し、オブジェクトではなく連想配列の優先順位を指定するだけです。正しいコードは次のとおりです:
$result = json_decode($jsondata, true);
配列値へのアクセス:
連想配列を取得したら、角括弧を使用してその値にアクセスできます:
print_r($result['Result']);
整数キー配列:
ただし、プロパティ名の代わりに整数キーを使用したい場合は、array_values():
$result = array_values(json_decode($jsondata, true));
オブジェクト アプローチを活用することでこれを実現できます。 🎜>
オブジェクト構造を維持したい場合でも、二重矢印を使用して目的のプロパティにアクセスできます。演算子:以上が「json_decode()」を使用して JSON を配列に正しくデコードするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。