2014-09-23 2 views
0

Im new для php и json и использования API. Im в большом проекте данных, и я хочу создать веб-приложение, которое извлекает информацию из API, чтобы создать прогностический анализ.php/json riot 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> 

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

+0

Вы получаете ответ json от 'file_get_contents (...)'? – jedwards

+1

Почему вы декодируете дважды ?, начальный '$ json' уже декодирован – Ghost

+0

im полный любитель, когда дело доходит до json/php. Раньше я программировал только в pl/sql. Как проверить, получил ли я ответ от file_get_contents? Я просто удалил второй декодер. – floppy

ответ

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, вы проходите его со стрелкой.

+0

Может ли создать полный пример с включенными тегами php? Когда я копирую пасту и редактирую ключ, она возвращает ошибку внутреннего сервера. я что-то упускаю? – floppy

+0

Возможно, вам не хватает открывающего тега ' jedwards

+0

Я пробовал с php-тегами, но все еще не удалось, я не знаю, что пошло не так , – floppy