我是php和json的新手以及API的用法。我是一个大数据项目,我想创建一个Web应用程序,从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密钥,密钥也不能正常工作。 请帮帮我,有没有基本的教程如何在PHP标签之间以JSON格式返回信息?
答案 0 :(得分:1)
由于我不清楚的原因,看起来并非所有冠军都返回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对象,则使用箭头表示法遍历它。