我对此还是个新手,所以请容忍我这个卑劣的问题。
基本上,我希望用户在web表单中输入搜索短语,并将查询传递给lastFM应用程序接口,然后根据"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参数,我都无法避免出现错误或根本没有输出……
谢谢大家..。
发布于 2010-02-16 07:54:32
我假设您谈论的是这个函数: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);echo $obj->{'foo-bar'};// 12345
发布于 2010-02-16 07:44:59
您应该看看json_decode的PHP文档。它从JSON构建了一个stdClass对象(或关联数组),您可以将其循环到您的心脏内容。
https://stackoverflow.com/questions/2269681
复制相似问题