axios和JSON是web開(kāi)發(fā)中經(jīng)常用到的兩個(gè)工具,它們的組合也非常常見(jiàn),下面我們來(lái)說(shuō)一下如何使用axios,通過(guò).then將獲取到的數(shù)據(jù)轉(zhuǎn)換成JSON格式。
axios.get('/api/data') .then(function (response) { console.log(response.data); // 這里已經(jīng)是一個(gè)JSON格式的數(shù)據(jù) }) .catch(function (error) { console.log(error); });
以上代碼中,我們使用axios發(fā)送一個(gè)get請(qǐng)求,在請(qǐng)求成功后的回調(diào)函數(shù)中,我們通過(guò).then將獲取到的response數(shù)據(jù)轉(zhuǎn)換成了JSON格式,然后打印出來(lái)。如果請(qǐng)求失敗,則會(huì)執(zhí)行.catch函數(shù)。
需要注意的是,如果獲取到的數(shù)據(jù)不是JSON格式的,會(huì)導(dǎo)致轉(zhuǎn)換失敗,可以使用try...catch語(yǔ)句來(lái)捕獲轉(zhuǎn)換異常:
axios.get('/api/data') .then(function (response) { try { var data = JSON.parse(response.data); console.log(data); } catch (e) { console.log(e); } }) .catch(function (error) { console.log(error); });
以上代碼中,我們使用JSON.parse嘗試將獲取到的數(shù)據(jù)轉(zhuǎn)換成JSON格式,如果轉(zhuǎn)換成功,則打印出來(lái),如果失敗,則將錯(cuò)誤信息打印出來(lái)。
總之,使用axios獲取數(shù)據(jù)并將其轉(zhuǎn)換成JSON格式非常簡(jiǎn)單,只需要在.then中使用JSON.parse即可。需要注意的是,如果請(qǐng)求返回的不是JSON格式的數(shù)據(jù),則必須使用try...catch語(yǔ)句來(lái)捕獲轉(zhuǎn)換異常。