ホームページ >バックエンド開発 >PHPチュートリアル >PHP を使用して JSON からデータにアクセスするにはどうすればよいですか?

PHP を使用して JSON からデータにアクセスするにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-12-23 10:09:40377ブラウズ

How Do I Access Data from JSON Using PHP?

PHP を使用して JSON のデータにアクセスするにはどうすればよいですか?

PHP には、JSON 文字列をデコードして PHP データ構造に変換する json_decode() 関数が用意されています。結果にアクセスする方法を詳しく見てみましょう:

オブジェクト プロパティ アクセス:

オブジェクト プロパティには $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] などの連続した属性とインデックスを通じてアクセスできます。 ->など:

$json = '{"type": "donut", "name": "Cake", "toppings": [{"id": "5002", "type": "Glazed"}]}';
$yummy = json_decode($json);
echo $yummy->toppings[0]->id; // "5002"

連想配列に変換:

json_decode() の第 2 パラメータとして true を渡して JSON に変換しますオブジェクトは、キーが文字列である連想配列にデコードされます:

$json = '{"type": "donut", "name": "Cake"}';
$yummy = json_decode($json, true);
echo $yummy['type']; // "donut"

連想配列の項目へのアクセス:

は、foreach (array_expression as $key) を介して実行できます。 =>$値)キーと値のトラバース:

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

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。