php / json riot api пустая страница не работает

Я новичок в php и json и использование API. Я нахожусь на большом проекте данных, и я хочу создать веб-приложение, которое извлекает информацию из API для того, чтобы создать прогнозный анализ.

Я пытался использовать этот код для извлечения данных, но все, что я вижу, это пустая страница. http://20ff.net/index.php

    <html>
<head>
<title>RIOT API SBOX</title>
</head>
<body>
<?php

$json = json_decode(file_get_contents('https://euw.api.pvp.net/api/lol/euw/v2.2/matchhistory/31827832?rankedQueues=RANKED_SOLO_5x5&api_key=key'), true);

var_dump(json_decode($json));

echo $json[0]['firstBloodKill'];?>
</body>
</html>

Да, я удалил ключ API самостоятельно, ключ не работает.
Пожалуйста, помогите мне, есть ли основные учебники, как вернуть информацию в JSON между тегами php?

0

Решение

По причинам, которые мне не ясны, похоже, что rankedSoloGamesPlayed поле не возвращается для всех чемпионов. Фактически, в вашем запросе он возвращается только для одного чемпиона (индекс 21):

<?php
$KEY = "<Your API Key>";

$url=sprintf('https://euw.api.pvp.net/api/lol/euw/v1.3/stats/by-summoner/31827832/ranked?season=SEASON4&api_key=%s', $KEY);
$data=file_get_contents($url);
$json=json_decode($data);

// Uncomment this if you want to see the full decoded JSON
//print_r($json);

echo $json->champions[21]->stats->rankedSoloGamesPlayed;
// This displays 0, which is the value returned in the JSON

// Additionally, you could access the totalDamageDealt field of the champion with index 0 with:
echo $json->champions[0]->stats->totalDamageDealt;
// This displays 214660

Обратите внимание, как вы должны пройти по декодированному JSON. Если print_r говорит, что это Arrayможно пройти через скобки ([21]), но если он говорит, что это объект stdClass, вы пересекаете его с помощью обозначения стрелки.

1

Другие решения

Других решений пока нет …