2016-03-14 206 views
0

我有存儲在外部Javascript文件中的數據。從外部Javascript文件訪問數據

它看起來像這樣,

window.videos = [{ 
    "name": "Sample data", 
    "duration": 154, 
    "description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras hendrerit tempor velit.", 
    "tags": ["modern-society", 
    "ABC"] 
}, 
{ 
    "name": "Sample data", 
    "duration": 2659, 
    "description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras hendrerit tempor velit.", 
    "category": "Senior->English", 
    "tags": ["China"] 
}]; 

這是什麼?它是JSON還是一個對象?

我需要訪問並從這個文件中檢索名稱和描述,並將其顯示在我的HTML中,我該怎麼做?

+0

http://www.w3schools.com/json/json_syntax.asp – Gary

+0

感謝@Gary,我能夠訪問該變量的值。我有一個問題,'window.videos'做了什麼,爲什麼它被使用? – innowqhy

+0

不知道服務器或數據想要顯示或引用的內容,但是'var data = [jsonarray]'也應該有效。 – Gary

回答

1

您發佈的代碼正在創建一個JavaScript對象,但如果您刪除了window.videos =,那麼您也有一個有效的JSON文檔。 (兩者非常相似)

我們假設您保留代碼原樣,並將其放入一個名爲video-data.js的文件中。

運行此腳本後,window.videos將包含您指定的視頻數據。

如果你想從javascript中獲取這些數據並將其顯示在HTML中,可以遍歷數組並在頁面上構造一些元素。

window.videos = [{ 
 
    "name": "Sample data", 
 
    "duration": 154, 
 
    "description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras hendrerit tempor velit.", 
 
    "tags": ["modern-society", 
 
    "ABC" 
 
    ] 
 
}, { 
 
    "name": "Sample data", 
 
    "duration": 2659, 
 
    "description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras hendrerit tempor velit.", 
 
    "category": "Senior->English", 
 
    "tags": ["China"] 
 
}]; 
 

 
videos.forEach(function(video) { 
 
    var videoElement = document.createElement('p'); 
 
    videoElement.innerHTML = '<strong>' + video.name + '</strong>: <i>' + video.description + '</i>'; 
 
    document.body.appendChild(videoElement); 
 
});