0

ユーザーの最近のトラックを取得するために last.fm API を使用しています。この API は JSON 文字列または XML ドキュメントを返します。

XML 形式

JSON 形式

どちらを使用する必要がありますか? PHP を使用してトラック名をエコーするようにしたいのですが、どうすればよいですか?

どうもありがとう!

4

3 に答える 3

0

基本的に、私はあなたがすでに非常に優れた xml パーサーを使用しているかどうか、および json よりも xml に慣れているかどうかに依存します。しかし第三者の視点から見ると、json 表現と同等のオブジェクトを直接提供する php の「json_decode」関数で JSON 表現を使用するのは非常に簡単です。

私によると、json_decode で JSON を使用するのが最も簡単な解決策です。詳細については、php マニュアルを確認してくださいhttp://php.net/manual/en/function.json-decode.php

于 2013-09-11T04:21:59.303 に答える
0

ジェイソンの方が好き

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 - オリジナル

ソーシャルノウハウ

太陽を見る

下車

見知らぬ人を撃つことを恐れる

于 2013-09-11T04:22:28.460 に答える
0

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/>';;
    }
}
于 2013-09-11T04:23:17.547 に答える