如何使用PHP访问此Json

如何使用PHP访问此Json,php,json,Php,Json,我在使用php获取此json的内容时遇到问题 {"song":{"returncode":"200","returnmsg":"OK","title":"Despacito Ft. Justin Bieber","artist":"Luis Fonsi, Daddy Yankee","album":"","size":"9193600","url":"http://sami-server.info/Bita6/04.96/Billboard%20Hot%20100%20Singles/Billb

我在使用php获取此json的内容时遇到问题

{"song":{"returncode":"200","returnmsg":"OK","title":"Despacito Ft. Justin Bieber","artist":"Luis Fonsi, Daddy Yankee","album":"","size":"9193600","url":"http://sami-server.info/Bita6/04.96/Billboard%20Hot%20100%20Singles/Billboard%20Hot%20100%20Singles/01.%20Luis%20Fonsi%2C%20Daddy%20Yankee%20-%20Despacito%20ft.%20Justin%20Bieber.mp3","time":"1499079781","date":"Jul 3, 2017","source":"","active":"1","albumart":"https://images-na.ssl-images-amazon.com/images/I/5150NxehQtL._AC_US160_.jpg","speed":"21","counter":"850850"}
这是我的函数,它返回json

public function getSong($id) {
        $song_url = 'http://databrainz.com/api/data_api_new.cgi?jsoncallback=&id='.$id.'&r=mpl&format=json&_=';
        $api = Api::getSpotOn($song_url);
        $song = $api->{'song'};
         return $song;
    }
我想得到它的全部内容


谢谢

在您提供的json示例中,缺少最后一个“}”,json_解码将返回Null,而不包含它,因为它不是有效的json

但是,由于您有getSong方法,以下方法应该可以工作:

$retObject = json_decode(getSong($songId));
$song = $retObject->song;

print_r($song);

echo 'returncode:'.$song->returncode.'<br/>';
echo 'returnmsg:'.$song->returnmsg.'<br/>';
echo 'title:'.$song->title.'<br/>';
echo 'artist:'.$song->artist.'<br/>';
echo 'album:'.$song->album.'<br/>';
echo 'size:'.$song->size.'<br/>';
echo 'url:'.$song->url.'<br/>';
echo 'time:'.$song->time.'<br/>';
echo 'date:'.$song->date.'<br/>';
echo 'source:'.$song->source.'<br/>';
echo 'active:'.$song->active.'<br/>';
echo 'albumart:'.$song->albumart.'<br/>';
echo 'speed:'.$song->speed.'<br/>';
echo 'counter:'.$song->counter.'<br/>';
$retObject=json_解码(getSong($songId));
$song=$retObject->song;
印刷(宋);
回显“returncode:”。$song->returncode。“
”; 回显“returnmsg:”.$song->returnmsg.
; 回声“title:”.$song->title.“
”; 回音“艺人:”.$song->艺人。“
”; 回音“唱片集:”.$song->album.
; 回显“大小:”。$song->size。“
”; 回显“url:”。$song->url。“
”; 回显“时间:”.$song->time.“
”; 回显“日期:”。$song->date。“
”; echo“source:”.$song->source.“
”; 回显“活动:”。$song->active。“
”; 回音“albumart:”.$song->albumart.
; 回音“速度:”.$song->speed.
; 回声“计数器:”.$song->counter.“
”;
尝试以下操作:

$result = json_decode(
'{
    "song": {
        "returncode": "200",
        "returnmsg": "OK",
        "title": "Despacito Ft. Justin Bieber",
        "artist": "Luis Fonsi, Daddy Yankee",
        "album": "",
        "size": "9193600",
        "url": "http://sami-server.info/Bita6/04.96/Billboard%20Hot%20100%20Singles/Billboard%20Hot%20100%20Singles/01.%20Luis%20Fonsi%2C%20Daddy%20Yankee%20-%20Despacito%20ft.%20Justin%20Bieber.mp3",
        "time": "1499079781",
        "date": "Jul 3, 2017",
        "source": "",
        "active": "1",
        "albumart": "https://images-na.ssl-images-amazon.com/images/I/5150NxehQtL._AC_US160_.jpg",
        "speed": "21",
        "counter": "850850"
    }
}'
);

var_dump($result);

echo $result->song->title;

你能发布你尝试过的吗?你编辑过我的问题吗