在Egret中,調(diào)用JSON數(shù)據(jù)是一件非常重要的事情。下面我們將介紹在Egret中如何實(shí)現(xiàn)JSON數(shù)據(jù)的調(diào)用。
//假設(shè)我們已經(jīng)有了一個(gè)JSON數(shù)據(jù)文件:music.json { "title": "My Heart Will Go On", "singer": "Celine Dion", "album": "Let's Talk About Love", "length": "4:40" }
接下來我們要通過Egret來調(diào)用這個(gè)JSON數(shù)據(jù)文件。首先,我們需要在Egret項(xiàng)目中創(chuàng)建一個(gè)文本加載器,然后用它來加載JSON文件。
var loader: egret.URLLoader = new egret.URLLoader(); loader.addEventListener(egret.Event.COMPLETE, onLoaded, this); loader.load(new egret.URLRequest("assets/music.json")); function onLoaded(event: egret.Event): void { var loader: egret.URLLoader =event.target; var data: any = JSON.parse(loader.data); console.log(data.title); //My Heart Will Go On console.log(data.singer); //Celine Dion console.log(data.album); //Let's Talk About Love console.log(data.length); //4:40 }
在上面的代碼中,我們首先創(chuàng)建了一個(gè)加載器對象并監(jiān)聽了COMPLETE事件。然后我們調(diào)用了load函數(shù)加載music.json文件。當(dāng)加載完成后,我們通過JSON.parse函數(shù)將JSON文本轉(zhuǎn)化為JavaScript對象。
最后,我們就可以通過對象的屬性來獲取JSON數(shù)據(jù)中的值了。比如,我們可以通過data.title獲取到JSON文件中的title屬性的值。
需要注意的是,在Egret中調(diào)用JSON數(shù)據(jù)時(shí),我們必須先用JSON.parse函數(shù)將JSON文本轉(zhuǎn)化為JavaScript對象!