1

私はこれに慣れていないので、初心者の質問に耐えてください。

基本的に、ユーザーが検索フレーズを Web フォームに入力し、クエリが 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); echo $obj->{'foo-bar'}; // 12345

于 2010-02-15T23:54:31.860 に答える
0

json_decodeの PHP ドキュメントを参照してください。JSON から stdClass オブジェクト (または連想配列) を構築し、心ゆくまでループすることができます。

于 2010-02-15T23:44:58.887 に答える