0

我使用 last.fm API 来获取用户最近的曲目,它返回 JSON 字符串或 XML 文档。

XML 格式

JSON格式

我应该使用哪个?我想使用 PHP 让曲目名称回显,我应该怎么做?

非常感谢!

4

3 回答 3

0

基本上,我取决于您是否已经在使用非常好的 xml 解析器,以及您是否对 xml 比对 json 更满意。但是从第三人称的角度来看,在 php 中使用带有“json_decode”函数的 JSON 表示将非常容易,这将直接为您提供一个等效于 json 表示的对象。

根据我的说法,使用带有 json_decode 的 JSON 将是最简单的解决方案。有关更多信息,请查看 php 手册http://php.net/manual/en/function.json-decode.php

于 2013-09-11T04:21:59.303 回答
0

我更喜欢Json

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';
}

输出:

赃物摇摆 - 原创

社会知识

看着太阳

下去

害怕射击陌生人

于 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 回答