一区二区三区中文国产亚洲_另类视频区第一页_日韩精品免费视频_女人免费视频_国产综合精品久久亚洲

千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機構(gòu)

手機站
千鋒教育

千鋒學(xué)習(xí)站 | 隨時隨地免費學(xué)

千鋒教育

掃一掃進(jìn)入千鋒手機站

領(lǐng)取全套視頻
千鋒教育

關(guān)注千鋒學(xué)習(xí)站小程序
隨時隨地免費學(xué)習(xí)課程

當(dāng)前位置:首頁  >  技術(shù)干貨  > 前端技巧|JavaScript中循環(huán)遍歷JSON響應(yīng)

前端技巧|JavaScript中循環(huán)遍歷JSON響應(yīng)

來源:千鋒教育
發(fā)布人:小千
時間: 2021-05-24 09:30:00 1621819800

      我們在前端開發(fā)過程中,通過服務(wù)器獲取數(shù)據(jù)的時候服務(wù)器返回的數(shù)據(jù)通常為JSON格式,今天小千就來教大家如何利用JavaScript解析服務(wù)器的響應(yīng)獲取我們想要的數(shù)據(jù)。

      該過程通常包括兩個步驟:將數(shù)據(jù)解碼為本機結(jié)構(gòu)(例如數(shù)組或?qū)ο螅缓笫褂肑avaScript的內(nèi)置方法遍歷該數(shù)據(jù)結(jié)構(gòu)。

      從遠(yuǎn)程API獲取接口

      1. 使用XMLHttpRequest API

1

      返回的數(shù)據(jù)為:

      // string

      // {"id":"helloworld","joke":"today is Friday!","status":200}

      服務(wù)器返回了一個字符串。我們需要先將其解析為JavaScript對象,然后才能遍歷其屬性。我們可以使用JSON.parse()做到這一點,如下顯示:

2

      2. 使用Fetch API

      盡管上面使用XMLHttpRequest對象的方法效果很好,但在復(fù)雜的場景下它就會變得非常笨拙。下面我們使用瀏覽器新提供的api,它是window對象上定義的方法fetch,你可以使用該方法執(zhí)行請求。此方法返回一個Promise,可用于檢索請求的響應(yīng)。

3

      Fetch API返回響應(yīng)流。這不是JSON,因此JSON.parse()需要嘗試使用它的response.json()函數(shù)而不是對其進(jìn)行調(diào)用。這將返回一個Promise,該Promise會將響應(yīng)的正文文本解析為JSON的結(jié)果進(jìn)行解析。

      多種方式遍歷數(shù)據(jù)

      1. 使用for...in

4

      2. 使用Object.entries,Object.values或Object.entries

5

      3. 處理數(shù)組

      值的有序列表(也稱為數(shù)組)也是有效的JSON,讓我們研究如何處理此類響應(yīng)。

      對于這個示例,我們將使用GitHub的REST API來獲取用戶存儲庫的列表:

6

      如您所見,API返回了一個對象數(shù)組。要訪問每個單獨的對象,我們可以使用常規(guī)forEach方法:

7

      另外,您當(dāng)然可以使用上面討論的任何方法來遍歷對象的所有屬性,并將它們記錄到控制臺:

8

      結(jié)論

      在這篇文章中,我們研究了什么是JSON。我已經(jīng)演示了如何將服務(wù)器的JSON響應(yīng)解析為本機數(shù)據(jù)結(jié)構(gòu)(例如數(shù)組或?qū)ο螅?,以及如何遍歷這種結(jié)構(gòu)以訪問其中包含的數(shù)據(jù)。我們大部分web服務(wù)與服務(wù)器的交互都是圍繞這個這個展開,希望這篇文章對您有所幫助

      最后歡迎對前端開發(fā)感興趣的同學(xué)來到千鋒大前端培訓(xùn)班了解我們的大前端培訓(xùn)課程,現(xiàn)在咨詢還有免費學(xué)習(xí)資料可以領(lǐng)取,趕緊來看看吧。

tags:
聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
10年以上業(yè)內(nèi)強師集結(jié),手把手帶你蛻變精英
請您保持通訊暢通,專屬學(xué)習(xí)老師24小時內(nèi)將與您1V1溝通
免費領(lǐng)取
今日已有369人領(lǐng)取成功
劉同學(xué) 138****2860 剛剛成功領(lǐng)取
王同學(xué) 131****2015 剛剛成功領(lǐng)取
張同學(xué) 133****4652 剛剛成功領(lǐng)取
李同學(xué) 135****8607 剛剛成功領(lǐng)取
楊同學(xué) 132****5667 剛剛成功領(lǐng)取
岳同學(xué) 134****6652 剛剛成功領(lǐng)取
梁同學(xué) 157****2950 剛剛成功領(lǐng)取
劉同學(xué) 189****1015 剛剛成功領(lǐng)取
張同學(xué) 155****4678 剛剛成功領(lǐng)取
鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
董同學(xué) 138****2867 剛剛成功領(lǐng)取
周同學(xué) 136****3602 剛剛成功領(lǐng)取
相關(guān)推薦HOT
oracle怎么樣實現(xiàn)數(shù)據(jù)庫跨機房同步?

一、oracle怎么樣實現(xiàn)數(shù)據(jù)庫跨機房同步除了使用第三方工具,Oracle提供了extended cluster可以實現(xiàn)類似的功能,使用Oracle RAC + ASM。簡單說下...詳情>>

2023-10-14 01:57:43
web網(wǎng)站性能測試的常用指標(biāo)有哪些?

一、頁面加載時間頁面加載時間是衡量網(wǎng)站性能的重要指標(biāo)之一,它指的是從用戶請求一個頁面到頁面完全加載完成所需的時間。頁面加載時間的長短直...詳情>>

2023-10-14 01:50:34
MySQL索引為什么能讓查詢效率提高?

一、MySQL索引為什么能讓查詢效率提高DB在執(zhí)行一條Sql語句的時候,默認(rèn)的方式是根據(jù)搜索條件進(jìn)行全表掃描。如果我們對某一字段增加索引,查詢時...詳情>>

2023-10-14 01:38:15
什么是面向云原生系統(tǒng)的智能運維?

一、云原生系統(tǒng)概述云原生系統(tǒng)是指在云計算環(huán)境下構(gòu)建和運行的應(yīng)用程序系統(tǒng),具備高可用、彈性擴展、靈活部署和自動化管理等特點。它采用容器化...詳情>>

2023-10-14 01:25:33
怎么提升excel數(shù)據(jù)表訪問運算速度?

一、怎么提升excel數(shù)據(jù)表訪問運算速度目前版本Excel最大列數(shù)為16384,沒有10w加。運算速度和Excel中是否有公式、公式的復(fù)雜度、對象的對少、格...詳情>>

2023-10-14 01:22:48
快速通道