ホームページ > バックエンド開発 > PHPチュートリアル > 「json_decode()」を使用して JSON を配列に正しくデコードするにはどうすればよいですか?

「json_decode()」を使用して JSON を配列に正しくデコードするにはどうすればよいですか?

Linda Hamilton
リリース: 2024-12-29 17:04:17
オリジナル
469 人が閲覧しました

How Can I Properly Decode JSON into an Array Using `json_decode()`?

エニグマへの対処: 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 サイトの他の関連記事を参照してください。

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