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
変数に格納します。最後に、$jo
で title
オブジェクトにアクセスして出力します。
そのため、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 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