php / json riot api空白页失败

时间:2014-09-23 14:06:34

标签: php json api

我是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格式返回信息?

1 个答案:

答案 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对象,则使用箭头表示法遍历它。