ユーザーの最近のトラックを取得するために last.fm API を使用しています。この API は JSON 文字列または XML ドキュメントを返します。
どちらを使用する必要がありますか? PHP を使用してトラック名をエコーするようにしたいのですが、どうすればよいですか?
どうもありがとう!
基本的に、私はあなたがすでに非常に優れた xml パーサーを使用しているかどうか、および json よりも xml に慣れているかどうかに依存します。しかし第三者の視点から見ると、json 表現と同等のオブジェクトを直接提供する php の「json_decode」関数で JSON 表現を使用するのは非常に簡単です。
私によると、json_decode で JSON を使用するのが最も簡単な解決策です。詳細については、php マニュアルを確認してくださいhttp://php.net/manual/en/function.json-decode.php
ジェイソンの方が好き
1- file_get_contentsを使用すると、json を取得できます。
2- json_decode を使用してJsonをデコードする
3- foreachを使用して、必要な値を取得します
$json_string = file_get_contents('http://ws.audioscrobbler.com/2.0/?method=user.getrecenttracks&user=rj&limit=5&api_key=cf9021419b97b1e4611d580e6304e5be&format=json');
$parsed_json = json_decode($json_string);
if (is_array($parsed_json) && !empty($parsed_json)) {
//check if is array and not null
$track = $parsed_json->recenttracks->track;
foreach ($track as $key) {
echo $key->name . '<br>';
}
} else {
echo 'No data available';
}
出力:
Booty Swing - オリジナル
ソーシャルノウハウ
太陽を見る
下車
見知らぬ人を撃つことを恐れる
jsonは次のように単純に使用する必要があります。
$jsonArr=json_decode($yourjson,true);
if(isset($jsonArr['recenttracks']['track']) and !empty($jsonArr['recenttracks']['track']))
{
foreach($jsonArr['recenttracks']['track'] as $track){
echo $track['name'].'<br/>';;
}
}