2012-11-12 72 views
0

這是我目前所面對的:如何解析來自API調用的JSON數據?

<?php 
    $string = file_get_contents("http://api.steampowered.com/ISteamUser/GetPlayerSummaries/v0002/?key=##################################&steamids=76561198040884950"); 
    $json=json_decode($string); 
?> 

<script type="text/javascript"> 
     alert("<?php echo $json; ?>"); 
</script> 

所有我想在這個階段做的是接受JSON信息。我對jQuery和PHP相當陌生,所以不確定我要出錯的地方。

+0

是的,你正在做正確的'json_decode'。但你想要的究竟是什麼? – GBD

+0

公開發布您的Steam API密鑰違反了Steam API使用條款。您應該編輯您的帖子以儘快將其刪除。 –

回答

1

使用json_decode你從一個字符串轉換JSON(可以普遍理解和分析),以PHP對象或數組,不會打印出你想要的樣子。您應該避免將其轉換,只是做這樣的事情:

<?php 
    $string = file_get_contents("http://api.steampowered.com/ISteamUser/GetPlayerSummaries/v0002/?key=...&steamids=76561198040884950"); 
?> 

<script type="text/javascript"> 
     var json = <?php echo $string; ?>; 
     // do things with the JSON; parse it into an object, etc 
</script> 
1

當使用json_decode通過PHP,你的輸出將在陣列中返回;

當從外部文件返回json信息到jQuery腳本時,您必須確保使用正確的語法。 Codex

1

其次,我不知道你是否知道,但在使用的file_get_contents,你需要你的php.ini文件有以下標誌:

了allow_url_fopen = 1

如果您不想,也可以選擇: Check it

1

嘗試使用<?php print_r($json); ?>代替echo。它正在做你想做的事。 echo只是不擅長處理數組。