我一直在爲我的項目工作,只是爲了學習更多關於PHP和JSON處理的知識。我現在使用Fanart.tv API,並按需要啓動並運行所有內容,但遇到了一些問題。我想在JSON文件中獲得FIRST數組,但我迄今爲止嘗試過的所有內容都無法實現。JSON的第一個元素(fanart.tv API)
任何人都想幫助我嗎? 這是我正在嘗試使用的JSON文件;
{"Eminem":{"mbid_id":"b95ce3ff-3d05-4e87-9e01-c97b66af13d4","artistbackground":[{"id":"14795","url":"http://assets.fanart.tv/fanart/music/b95ce3ff-3d05-4e87-9e01-c97b66af13d4/artistbackground/eminem-4ed3e35d6f3da.jpg","likes":"3"}
這是我的代碼從我的PHP文件,實際工作;
$img = $json->Eminem->artistbackground[0]->url;
但是,我想打印圖像並回顯藝術家的名字 - 在這種情況下是「Eminem」。我試過用「$ json [0]」和「[0]」,但是我只是得到錯誤信息。任何人都知道如何做到這一點,閱讀JSON文件?我得到的腳本自動更新了MusicBrainz的URL($ mbid)中的ID,因此如果它是另一位藝術家而不是Eminem,我讀取了JSON文件 - 我的代碼無法工作。
這是我到目前爲止的PHP代碼;
$backgroundURL = 'http://api.fanart.tv/webservice/artist/a93e666f14a34d979b3e3617eab2f340/'.$mbid.'/json/artistbackground/1/1';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $backgroundURL);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (compatible; curl)");
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
$json = curl_exec($ch);
curl_close($ch);
$json = json_decode($json);
$bg = $json->Eminem->artistbackground[0]->url;
echo '<img src="'.$bg.'" height="540" width="960">'
只要JSON文件用於藝術家Eminem,它就可以工作。只要我得到另一個藝術家,它不會,所以我需要$ bg字符串中的JSON文件中的第一個元素。
任何人都知道如何做到這一點? 感謝您的幫助!