https://ws.audioscrobbler.com/2.0/?method=album.getinfo&api_key=d94b7d68284cbab1cdb7c2c3c81fd913&artist=kendrick lamar&album=damn&format=json
上面的鏈接是一個專輯的 json 檔案,它在影像部分下有一個專輯封面的 URL,但是當我嘗試提取它時,我收到一個語法錯誤,告訴我“Uncaught SyntaxError: Private field '#text' must be在封閉類中宣告”。
對于下面的代碼,為了獲得大影像,我希望執行 data.album.image[2].#text,但每當我這樣做時,我都會收到一條錯誤訊息告訴我:“Uncaught SyntaxError: Private field '# text' 必須在封閉類中宣告”(此處的螢屏截圖:https ://gyazo.com/f6c9a16af02bda42313b4f369a753c33 )。這是因為數字符號嗎?因為當我執行 data.album.image[2].size 時,我得到了一個大的預期輸出。如果是這樣,我該如何解決它?
async function getAlbum() {
AlbumName = localStorage.getItem("textvalue");
ArtistName = localStorage.getItem("textvalue2");
AlbumName = AlbumName.replace(" ", " ");
ArtistName = ArtistName.replace(" ", " ");
const response = await fetch(
"https://ws.audioscrobbler.com/2.0/?method=album.getinfo&api_key=d94b7d68284cbab1cdb7c2c3c81fd913&artist="
ArtistName
"&album="
AlbumName
"&format=json"
);
const data = await response.json();
const numberOfTracks = data.album.tracks.track.length;
const AlbumImage = data.album.image[2].#text;
}
uj5u.com熱心網友回復:
您不能使用#text點符號直接訪問該屬性,因為它是一個私有欄位。您必須使用括號表示法。
將代碼的最后一行替換為
const AlbumImage = data.album.image[2]['#text'];
更多細節在這里https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes/Private_class_fields
在這里https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Property_accessors
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/411217.html
標籤:
上一篇:使用React選擇上的鏈接選項
