HarmonyOS NEXT應(yīng)用開發(fā)之Axios獲取解析網(wǎng)絡(luò)數(shù)據(jù)

介紹

本示例介紹使用第三方庫的Axios獲取GBK格式的網(wǎng)絡(luò)數(shù)據(jù)時,通過util實現(xiàn)GBK轉(zhuǎn)換UTF-8格式。該場景多用于需要轉(zhuǎn)換編碼格式的應(yīng)用。

效果圖預(yù)覽

使用說明

直接進(jìn)入頁面就可獲取GBK格式的用戶名信息并進(jìn)行解碼操作。

實現(xiàn)思路

  1. 使用第三方庫Axios獲取網(wǎng)絡(luò)數(shù)據(jù),并將獲取數(shù)據(jù)類型設(shè)置為ARRAY_BUFFER。源碼參考FriendsBook.ets
axios<string, AxiosResponse<string>, null>({
  method: "get",
  url: URL,
  responseType: 'ARRAY_BUFFER'
})
  1. 使用util.TextDecoder方法進(jìn)行解碼操作。源碼參考FriendsBook.ets
let textDecoder = util.TextDecoder.create('gbk', { ignoreBOM: true });
let result = new Uint8Array(res.data);
let resultString = textDecoder.decodeWithStream(result, { stream: false });
  1. 將解碼后的數(shù)據(jù)通過LazyForEach循環(huán)顯示在列表中。源碼參考FriendsBook.ets
LazyForEach(this.friendsListData, (msg: FriendData) => {
  ListItem() {
    ...
  }
})

工程結(jié)構(gòu)&模塊類型

gbktranscoding                                  // har類型
|---pages
|---|---FriendsBook.ets                         // 視圖層-場景列表頁面

模塊依賴

@ohos/axios

參考資料

Axios網(wǎng)絡(luò)請求庫

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容