-4

PHPを使用してstackoverflow APIのレスポンスからキーと値のペアを抽出するには?

キーは name と count

応答を取得するためのリンクを以下に示します

stackoverflow リクエスト API のリンク

応答は次のとおりです

{"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,"n​​ame":"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 に失敗しました: そのようなホストは不明です

4

1 に答える 1