1

我是新手,所以请忍受我的问题。

基本上,我希望用户在网络表单中输入搜索短语,并将查询传递给 lastFM API,并根据他们的“gettopartists”API 节点使用该短语返回顶级艺术家。这是我的代码...

function last($q) {
    $target_url='http://ws.audioscrobbler.com/2.0/format=json&method=tag.gettopartists&api_key=....&tag=' . $q . '';
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL,$target_url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER,true);

    $return = curl_exec($ch);
}

显然,我通过打印“echo $return;”获得了有效的回报;但我不知道如何正确解析它。无论我输入多少 foreach 参数,我都无法避免错误或根本没有输出......

谢谢各位...

4

2 回答 2

2

我假设你在谈论这个功能:http ://www.last.fm/api/show?service=300

如果省略 format=json 部分,它将以 xml 形式返回

示例响应看起来像是 XML 格式,在这种情况下,您可以使用 PHP 的 SimpleXML http://php.net/manual/en/ref.simplexml.php对其进行解析

http://www.ibm.com/developerworks/library/x-simplexml.html

您还有 format=json,这让我相信它可能以 JSON 格式返回,在这种情况下您将使用 json_decode。

$json = '{"foo-bar": 12345}';

$obj = json_decode($json); 回声 $obj->{'foo-bar'}; // 12345

于 2010-02-15T23:54:31.860 回答
0

您应该查看json_decode的 PHP 文档。它从 JSON 构建一个 stdClass 对象(或关联数组),您可以将它们循环到您心中的内容。

于 2010-02-15T23:44:58.887 回答