Я новичок в 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?
По причинам, которые мне не ясны, похоже, что 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, вы пересекаете его с помощью обозначения стрелки.
Других решений пока нет …