2014-01-19 3 views
0

난 그냥 배열로 API 응답을 표시하기 위해 노력하고있어,하지만 뭔가 잘못이고 나는 그것을 찾을 수 없습니다 :JSON API를 배열로 표시하는 방법은 무엇입니까?

이 API의 대답 :

{"status":"OK","minecrafts":[{"id":411,"ip":"2452453","name":"EdenCraft","port":23,"ram":512,"leaf_id":1522,"ftp_password":"1231235312","subscription_end":"2014-02-06T19:56:29.000Z"}]} 

내 PHP 코드 :

<?php 
$url = "http://api.edenservers.fr/minecraft?user_id=id&api_key=key"; 
$data = file_get_contents($url); // Opening the Query URL 
$data = json_decode($data, true); // Decoding the obtained JSON data 
if(count($data) > 0) { 
    foreach($data as $rank => $donnees) { 
     echo "<u>" . $rank ."</u> : ". $rank; 
     echo "<br />"; 
    } 
} 
else { 
    echo "Rien n'a &eacute;t&eacute; trou&eacute;."; 
} 
?> 

그리고 이것은 내 대시 보드에 보여 무슨이다 :

status : status 

minecrafts : minecrafts 

당신의 도움을 주셔서 감사합니다 !

답변

1

이 내가 무엇을 얻을

foreach($data as $key=>$val){ 
    if(is_array($val)){ 
     foreach($val[0] as $key1=>$val1){ 
      echo "<u>" . $key1 ."</u> : ". $val1; 
     } 
    }else{ 
      echo "<u>" . $key ."</u> : ". $val; 
    } 
} 
+0

그것은 작동합니다! 감사 ! –

0

변경 :

echo "<u>" . $rank ."</u> : ". $rank 

에 :

echo "<u>" . $rank ."</u> : ". print_r($donnees, TRUE) 

또는 다른 방법으로 주위 당신은 반전 값을 원하는 경우. 그러나 문제는 두 곳에서 $rank을 사용하는 것입니다.

+0

시도는 : 그것은 배열이 문자열 대신 $ 자체 donnees'는 여전히'그래서, 다차원 배열처럼 http://grab.by/tExe –

+0

이 보이는 어떤 경우에는. 위에서 만든 편집은이를 해결해야하지만 출력을 원하는 방식에 따라 수정해야합니다 (예 : 중첩 된 'foreach()'를 포함하여) 루프를 통해 수정해야합니다. –

관련 문제