HarmonyOS NEXT應用開發之Axios獲取解析網路資料

生活就是这么怪發表於2024-04-17

介紹

本示例介紹使用第三方庫的Axios獲取GBK格式的網路資料時,透過util實現GBK轉換UTF-8格式。該場景多用於需要轉換編碼格式的應用。

效果圖預覽

image

使用說明

直接進入頁面就可獲取GBK格式的使用者名稱資訊並進行解碼操作。

實現思路

  1. 使用第三方庫Axios獲取網路資料,並將獲取資料型別設定為ARRAY_BUFFER。原始碼參考FriendsBook.ets
axios<string, AxiosResponse<string>, null>({
  method: "get",
  url: URL,
  responseType: 'ARRAY_BUFFER'
})
  1. 使用util.TextDecoder方法進行解碼操作。原始碼參考FriendsBook.ets
let textDecoder = util.TextDecoder.create('gbk', { ignoreBOM: true });
let result = new Uint8Array(res.data);
let resultString = textDecoder.decodeWithStream(result, { stream: false });
  1. 將解碼後的資料透過LazyForEach迴圈顯示在列表中。原始碼參考FriendsBook.ets
LazyForEach(this.friendsListData, (msg: FriendData) => {
  ListItem() {
    ...
  }
})

工程結構&模組型別

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

模組依賴

@ohos/axios

參考資料

Axios網路請求庫

相關文章