如何在一個單獨的js腳本文件中導入json文件中的數據呢?
代碼如下
// 這段代碼可以導入一個"../static/json/infos.json"文件,
// 並使用json數據,
var text; // 一個變量
$.ajax({
type: 'get', // 請求類型
url: '../static/json/infos.json', // 文件相對地址(相對於使用這個js腳本的html文件)
dataType: 'json', // 類型
async: false,
success: function(data) {
text = data; // data就是json文件中的數據,可以直接賦給text,類型為js對象,也就是直接從json數據轉換成了js對象
},
error: function() {
alert('請求失敗');
}
})
this.songs = text; // 使用json數據,this.songs 是一個js對象
使用例子
../static/json/infos.json 文件
[{
"id": 1,
"title": "\u3072\u3053\u3046\u304d\u96f2",
"author": "\u5ddd\u672c\u6bd4\u4f50\u5fd7",
"format": "MPEG Audio",
"size": "9.068 MB",
"songUrl": "../static/musics/001.mp3",
"imageUrl": "../static/images/001.png"
},
{
"id": 2,
"title": "Rainbow",
"author": "\u5317\u5ddd\u52dd\u5229",
"format": "MPEG Audio",
"size": "7.824 MB",
"songUrl": "../static/musics/002.mp3",
"imageUrl": "../static/images/002.png"
}]
在導入之后,this.songs這個對象為
this.songs = [{
"id": 1,
"title": "\u3072\u3053\u3046\u304d\u96f2",
"author": "\u5ddd\u672c\u6bd4\u4f50\u5fd7",
"format": "MPEG Audio",
"size": "9.068 MB",
"songUrl": "../static/musics/001.mp3",
"imageUrl": "../static/images/001.png"
},
{
"id": 2,
"title": "Rainbow",
"author": "\u5317\u5ddd\u52dd\u5229",
"format": "MPEG Audio",
"size": "7.824 MB",
"songUrl": "../static/musics/002.mp3",
"imageUrl": "../static/images/002.png"
}]
然后就可以在這個js腳本文件中快樂的使用this.songs這個對象了
每次測試時,請刪除瀏覽器緩存的cookies,免得再次加載不了剛剛修改的相關文件
聲明:
增刪有風險,操作要謹慎;凡操作失誤,導致的損失,與本人無關;實施操作前請做好安全措施。
謝謝關注!