如何解析API调用中的JSON数据?

时间:2012-11-12 05:46:06

标签: php javascript jquery 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很陌生,所以不确定我哪里出错了。

5 个答案:

答案 0 :(得分:1)

检查出http://api.jquery.com/jQuery.parseJSON/,类似这样

var obj = jQuery.parseJSON('{"name":"John"}');
alert( obj.name === "John" );

答案 1 :(得分: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>

答案 2 :(得分:1)

通过PHP使用json_decode时,输出将以数组形式返回;

将json信息从外部文件返回到jquery脚本时,必须确保使用正确的语法。 Codex

答案 3 :(得分:1)

其次我不确定你是否知道,但在使用file_get_contents时,你需要你的php.ini文件有以下标志:

  

allow_url_fopen = 1

如果你不想,还有其他选择: Check it

答案 4 :(得分:1)

尝试使用<?php print_r($json); ?>代替echo。它正在做你想要的。 echo只是处理数组并不擅长。