PHPを使用してstackoverflow APIのレスポンスからキーと値のペアを抽出するには?
キーは name と count
応答を取得するためのリンクを以下に示します
応答は次のとおりです
{"items":[{"has_synonyms":true,"is_moderator_only":false,"is_required":false,"count":835623,"name":"java"},{"has_synonyms":true,"is_moderator_only" :false,"is_required":false,"count":826692,"name":"javascript"},{"has_synonyms":true,"is_moderator_only":false,"is_required":false,"count":780233," name":"c#"},{"has_synonyms":true,"is_moderator_only":false,"is_required":false,"count":733762,"name":"php"},{"has_synonyms":true," is_moderator_only":false,"is_required":false,"count":656491,"name":"android"},{"has_synonyms":false,"is_moderator_only":false,"is_required":false,"count":600666,"name":"jquery"},{"has_synonyms":true,"is_moderator_only":false,"is_required":false,"count":411780 ,"name":"python"},{"has_synonyms":true,"is_moderator_only":false,"is_required":false,"count":402876,"name":"html"},{"has_synonyms":true ,"is_moderator_only":false,"is_required":false,"count":361469,"name":"c++"},{"has_synonyms":true,"is_moderator_only":false,"is_required":false,"count" :324702,"name":"ios"},{"has_synonyms":true,"is_moderator_only":false,"is_required":false,"count":314826,"name":"mysql"},{"has_synonyms":true,"is_moderator_only":false,"is_required":false,"count":296359,"name":"css"},{" has_synonyms":true,"is_moderator_only":false,"is_required":false,"count":271375,"name":"sql"},{"has_synonyms":true,"is_moderator_only":false,"is_required":false ,"count":253038,"name":"asp.net"},{"has_synonyms":true,"is_moderator_only":false,"is_required":false,"count":224602,"name":"objective- c"},{"has_synonyms":true,"is_moderator_only":false,"is_required":false,"count":207451,"name":".net"},{"has_synonyms":true,"is_moderator_only":false,"is_required":false,"count":202666,"name":"iphone"},{"has_synonyms":true,"is_moderator_only":false,"is_required":false ,"count":200238,"name":"ruby-on-rails"},{"has_synonyms":false,"is_moderator_only":false,"is_required":false,"count":176868,"name":" c"},{"has_synonyms":false,"is_moderator_only":false,"is_required":false,"count":130813,"name":"ruby"},{"has_synonyms":true,"is_moderator_only":false ,"is_required":false,"count":129764,"name":"arrays"},{"has_synonyms":true,"is_moderator_only":false,"is_required":false,"count":127562,"name":"sql-server"},{"has_synonyms":true,"is_moderator_only":false,"is_required":false,"count":116079,"name ":"ajax"},{"has_synonyms":true,"is_moderator_only":false,"is_required":false,"count":114163,"name":"regex"},{"has_synonyms":false,"is_moderator_only ":false,"is_required":false,"count":112127,"name":"xml"},{"has_synonyms":true,"is_moderator_only":false,"is_required":false,"count":111066, "name":"json"},{"has_synonyms":true,"is_moderator_only":false,"is_required":false,"count":107333,"name":"asp.net-mvc"},{"has_synonyms":false,"is_moderator_only":false,"is_required":false,"count":99944,"name":"wpf"},{"has_synonyms" :false,"is_moderator_only":false,"is_required":false,"count":98195,"name":"linux"},{"has_synonyms":false,"is_moderator_only":false,"is_required":false," count":93114,"name":"django"}],"has_more":true,"quota_max":300,"quota_remaining":228}is_required":false,"count":98195,"name":"linux"},{"has_synonyms":false,"is_moderator_only":false,"is_required":false,"count":93114,"name":" django"}],"has_more":true,"quota_max":300,"quota_remaining":228}is_required":false,"count":98195,"name":"linux"},{"has_synonyms":false,"is_moderator_only":false,"is_required":false,"count":93114,"name":" django"}],"has_more":true,"quota_max":300,"quota_remaining":228}
私はこれをしましたが、phpで応答がありません
<?php
$url = 'https://api.stackexchange.com/2.2/tags?order=desc&sort=popular&site=stackoverflow';
$cURL = curl_init();
curl_setopt($cURL, CURLOPT_URL, $url);
curl_setopt($cURL, CURLOPT_HTTPGET, true);
curl_setopt($cURL, CURLOPT_HTTPHEADER, array(
'Content-Type: application/json',
'Accept: application/json'
));
$result = curl_exec($cURL);
curl_close($cURL);
print_r($result);
?>
また、JavaScriptを使用してこれを行いましたが、応答が得られますが、JavaScriptがデータベースと対話できる方法はありません.そこからphpファイルに送信しようとしましたが、リクエストからキーと値のペアを取得できません.
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script type="text/javascript">
$.ajax({
type:"GET",
url:"https://api.stackexchange.com/2.2/tags?order=desc&sort=popular&site=stackoverflow",
success:function(data){
$.ajax({
type:"POST",
url:"savetodb.php",
data:"data="+JSON.stringify(data),
success:function(daa){
alert(daa) }
})
}
})
</script>
PHP関数 file_get_contents([URL]) も試しました
コードは次のとおりです
<?php
$url = "https://api.stackexchange.com/2.2/tags?order=desc&sort=popular&site=stackoverflow";
$json = file_get_contents($url);
$json_data = json_decode($json, true);
print_r($json_data);
?>
エラーが発生しています
1.file_get_contents(): php_network_getaddresses: getaddrinfo に失敗しました: そのようなホストは不明です
2.file_get_contents( https://api.stackexchange.com/2.2/tags?order=desc&sort=popular&site=stackoverflow ): ストリームを開けませんでした: php_network_getaddresses: getaddrinfo に失敗しました: そのようなホストは不明です