Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Vinnyy

Erro no Json

Recommended Posts

Eai pessoal, hoje estava criando um certo código no php e tive que usar uma API fornecida em Json mas não consegui decodificar corretamente esse Json e gostaria de ajuda de vocês, obrigado.

Código Json:

{"4100992":[{"name":"Elise's Masterminds","tier":"GOLD","queue":"RANKED_SOLO_5x5","entries":[{"playerOrTeamId":"4100992","playerOrTeamName":"Gears Vinny","division":"I","leaguePoints":42,"wins":194,"isHotStreak":false,"isVeteran":true,"isFreshBlood":false,"isInactive":false}]}]}

esse primeiro 4100992 é um numero que é informado para que tenha acesso as outras linhas então ele sempre será uma variavel exemplo $id.

Quero pegar tudo que tiver depois disso e colocar em uma variavel exemplo

$name = name;

$tier = tier;

etc..

código que eu estava tentando:

$apik = "";
$id = "4100992";
$server = "br";
$str = file_get_contents('https://'.$server.'.api.pvp.net/api/lol/br/v2.5/league/by-summoner/'.$id.'/entry?api_key='.$apik.'');
$json = json_decode($str, true);
$summoner = $json['name'][0];
echo $summoner;

erro retornado:

Notice: Undefined index: name

bom, é isso pessoal.. Gostaria de uma força ai obrigado.

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
$summoner = $json['4100992'][0]['name'];

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

Como você disse, tem o ID antes.

 

E o índice "name" não é um array, portanto não tem posição 0 (zero).

$summoner = $json['4100992']['name'];

 

Esse retornou o mesmo erro.

 

 

$summoner = $json['4100992'][0]['name'];

 

Esse deu certinho! muito obrigado.

 

e caso eu queira pegar o valor do dessa parte:

"entries":[{"playerOrTeamId":"4100992

como posso fazer? tentei a mesma coisa do seu mas mudando algumas coisas e não obtive sucesso.

Compartilhar este post


Link para o post
Compartilhar em outros sites
$summoner = $json['4100992'][0]['entries'][0]['playerOrTeamId'];

Compartilhar este post


Link para o post
Compartilhar em outros sites
$summoner = $json['4100992'][0]['entries'][0]['playerOrTeamId'];

 

Bom, acabei de descobrir esse mesmo código usando seu exemplo da outra, rsrs.

Muito obrigado pelas suas respostas, meu problema foi resolvido.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.