PHP の URL から JSON オブジェクトを取得する

Subodh Poudel 2023年1月30日
  1. file_get_contents() 関数を使用して、PHP の URL から JSON オブジェクトを取得する
  2. curl を使用して、PHP の URL から JSON オブジェクトを取得する
PHP の URL から JSON オブジェクトを取得する

このチュートリアルでは、PHP の URL から JSON オブジェクトを取得する方法を紹介します。

file_get_contents() 関数を使用して、PHP の URL から JSON オブジェクトを取得する

file_get_contents()json_decode() と一緒に使用して、URL から JSON オブジェクトを取得できます。file_get_contents() 関数は、ファイルを文字列形式で読み取ります。関数内でファイルへのパスを指定する必要があります。または、関数内の URL を最初のパラメーターとして指定することもできます。file_get_contents() 関数を使用するには、allow_url_fopen を有効にする必要があります。php.ini ファイルで phpini_set("allow_url_fopen", 1) を設定することで有効にできます。json_decode() 関数は、JSON オブジェクトを PHP オブジェクトに変換します。したがって、JSONURL のオブジェクトに PHP オブジェクトとしてアクセスできます。

デモンストレーションでは、jsonplaceholder からのダミーの JSONURL を使用します。変数 $url を作成し、その中に URL を保存します。URL https://jsonplaceholder.typicode.com/posts/1 を使用します。URL の JSON オブジェクトを以下に示します。次に、$json 変数を作成し、file_get_contents() 関数の引数として $url を使用します。次に、json_decode() 関数を使用して、JSON 文字列を PHP オブジェクトにデコードします。オブジェクトを $jo 変数に格納します。最後に、$jotitle オブジェクトにアクセスして出力します。

そのため、Web から JSON オブジェクトを含む URL にアクセスし、PHP に変換しました。このようにして、PHP の URL から JSON オブジェクトを取得できます。

サンプルコード:

{
 "userId": 1,
 "id": 1,
 "title": "sunt aut facere repellat provident occaecati excepturi optio reprehenderit",
 "body": "quia et suscipit\nsuscipit recusandae consequuntur expedita et cum\nreprehenderit molestiae ut ut quas totam\nnostrum rerum est autem sunt rem eveniet architecto"
}
<?php
$url = 'https://jsonplaceholder.typicode.com/posts/1';
$json = file_get_contents($url);
$jo = json_decode($json);
echo $jo->title;
?>

出力:

sunt aut facere repellat provident occaecati excepturi optio reprehenderit

curl を使用して、PHP の URL から JSON オブジェクトを取得する

curl は、データとファイルを送受信するために使用されるコマンドラインツールです。HTTP、HTTPS、FTP などのサポートされているプロトコルを使用し、サーバーとの間でデータを送信します。PHP には、HTTP リクエストを作成できる curl ライブラリがあります。curl を使用して、Web からファイルの内容を読み取ることができます。PHP には、データの送受信を容易にするさまざまな curl 関数があります。それらを使用して、URL から JSON オブジェクトを取得できます。curl_init() 関数は curl を開始します。curl_setopt() 関数を使用して、転送の返送や URL の設定などのいくつかのオプションを設定できます。curl_exec() 関数が操作を実行し、curl_close() が curl を閉じます。

最初の方法と同じ URL を使用して、curl の使用法を示すことができます。変数 $curl を作成し、curl_init() 関数を使用して curl を開始します。curl_setopt() 関数を使用して、CURLOPT_RETURNTRANSFER オプションを true に設定します。次に、CURLOPT_URL オプションを使用して URL を設定します。パラメータに curl を指定して curl_exec() 関数を使用して curl を実行し、$res 変数に格納します。curl_close() 関数を使用して、$curl 変数を閉じます。次に、json_decode() 関数を使用して JSON オブジェクトを PHP オブジェクトに変更し、title オブジェクトを表示します。

したがって、curl を使用して URL から JSON オブジェクトを取得できます。

サンプルコード:

<?php
 $curl= curl_init();
 curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
 curl_setopt($curl, CURLOPT_URL, 'https://jsonplaceholder.typicode.com/posts/1';
 $res = curl_exec($curl);
 curl_close($curl);
 $jo = json_decode($res);
 echo $jo->title; ?>

出力:

sunt aut facere repellat provident occaecati excepturi optio reprehenderit
著者: Subodh Poudel
Subodh Poudel avatar Subodh Poudel avatar

Subodh is a proactive software engineer, specialized in fintech industry and a writer who loves to express his software development learnings and set of skills through blogs and articles.

LinkedIn

関連記事 - JSON Object