【環(huán)球報資訊】一篇文章教會你JavaScript json 解析
回復“前端”即可獲贈前端相關學習資料
今
日
(資料圖)
雞
湯
疾風知勁草,板蕩識誠臣。JSON的一個常見用途是交換數(shù)據(jù)到從一個Web服務器,當從web服務器接收數(shù)據(jù)時,數(shù)據(jù)總是一個字符串。使用JSON.parse()方法解析這些數(shù)據(jù),數(shù)據(jù)變成JavaScript對象。一、瀏覽器支持JSON.parse() 函數(shù)包括所有主要的瀏覽器和最新的ECMAScript(JavaScript)標準:
瀏覽器支持 |
---|
Firefox 3.5 ,Internet Explorer 8 ,Chrome, Opera 10 ,Safari 4 |
想象一下,我們從Web服務器收到這個文本:
"{ "name":"John", "age":30, "city":"New York"}"
使用JavaScript函數(shù)JSON.parse() 將文本轉換成JavaScript對象:
var obj = JSON.parse("{ "name":"John", "age":30, "city":"New York"}");
注:確保文字是用JSON格式,否則你會得到一個語法錯誤。
在你的頁面中使用JavaScript對象:
2. 從服務器獲得JSON項目 JSON解析文本
你可以使用AJAX請求從服務器獲得JSON。
只要來自服務器的響應是用JSON格式,您可以將字符串解析成JavaScript對象。
Ajax是什么?
Asynchronous JavaScript & XML。Ajax是web開發(fā)的一種技術。
var xmlhttp = new XMLHttpRequest();xmlhttp.onreadystatechange = function() {if (this.readyState == 4 && this.status == 200) {myObj = JSON.parse(this.responseText);document.getElementById("demo").innerHTML = myObj.name;}};xmlhttp.open("GET", "json_demo.txt", true);xmlhttp.send();
服務器端 訪問成功!將JSON解析的內容保存在json_demo.txt。
3. 數(shù)組作為JSON當使用JSON.parse()方法的使用, 該方法將返回一個JavaScript數(shù)組, 而不是一個JavaScript對象.
var xmlhttp = new XMLHttpRequest();xmlhttp.onreadystatechange = function() {if (this.readyState == 4 && this.status == 200) {myArr = JSON.parse(this.responseText);document.getElementById("demo").innerHTML = myArr[0];}};xmlhttp.open("GET", "json_demo_array.txt", true);xmlhttp.send();
為了方便測速,自己創(chuàng)建了json_demo_array.txt文件。
json_demjo_array.txt
三、拓展解析日期(2種)在JSON中,日期對象是不允許的。
如果需要包含日期,請將其寫成字符串.
1. 將其轉換為日期對象:var text = "{ "name":"John", "birth":"1986-12-14", "city":"New York"}";var obj = JSON.parse(text) {obj.birth = new Date(obj.birth);document.getElementById("demo").innerHTML = obj.name + ", " + obj.birth;2.使用JSON.parse()函數(shù)的第二個參數(shù), 稱為接收器
該接收機參數(shù),返回值之前,檢查每個屬性。
var text = "{ "name":"John", "birth":"1986-12-14", "city":"New York"}";var obj = JSON.parse(text, function (key, value) {if (key == "birth") {return new Date(value);} else {return value;}});document.getElementById("demo").innerHTML = obj.name + ", " + obj.birth;解析函數(shù)
在JSON中不允許函數(shù).
如果你需要包含一個函數(shù),寫成字符串。
以后您可以將其轉換為函數(shù):
var text = "{ "name":"John", "age":"function () {return 30;}", "city":"New York"}";var obj = JSON.parse(text) {obj.age = eval("(" + obj.age + ")");document.getElementById("demo").innerHTML = obj.name + ", " + obj.age();
避免在JSON使用函數(shù),函數(shù)將失去他們的范圍,你將不得不使用eval()將它們轉換回函數(shù)。
四、總結本文基于JavaScript ,介紹了 json 解析在實際的應用。如何去解析一個JSON文件,從三個方面進行了講解。在實際過程中遇到的難點,提供了有效的解決方案。最后拓展,希望對JSON解析有了進一步的了解,使用JavaScript 語言,效果圖動展示,希望能夠讓讀者更好的理解。
代碼很簡單,希望能夠幫助你更好的學習。
-------------------?End?-------------------
往期精彩文章推薦:
盤點JavaScript中數(shù)組遍歷的全部方式(上篇)盤點JavaScript中數(shù)組遍歷的全部方式(下篇)一篇文章帶你了解JavaScript日期歡迎大家點贊,留言,轉發(fā),轉載,感謝大家的相伴與支持
想加入前端學習群請在后臺回復【入群】
萬水千山總是情,點個【在看】行不行
關鍵詞:
您可能也感興趣:
今日熱點
為您推薦
拆解報告:安克20000mAh 20W快充移動電源
天天時訊:2023年T恤十大品牌排行榜
肖像畫素描步驟(肖像畫素描)
排行
- SHEIN推出“希有引力”百萬賣家計劃|全球熱點評
- 凱德華北區(qū)與菜百股份將在開店拓展等多方面達成合作
- 前三季度商業(yè)地產租賃需求創(chuàng)新高,存量地產價值提升空間廣闊
- 零氪科技暫停赴美IPO,上市計劃被延期
- 永定門電烤串完成近千萬元天使輪融資
- 廈門市黑色金屬產業(yè)招商又節(jié)碩果 金馬能源新項目落戶
- 東方雨虹上半年歸屬凈利潤約14.81億元-15.90億元
- 格林酒店一季度經(jīng)營利潤為6139萬元,同比增長64.9%
- 愛立信正進一步加大在中國本土研發(fā)的投入 推動5G技術創(chuàng)新
- 途虎養(yǎng)車與德國馬牌簽署戰(zhàn)略合作協(xié)議
最近更新
- 【環(huán)球報資訊】一篇文章教會你JavaScript json 解析
- 全球觀速訊丨地信企業(yè)董高監(jiān)薪酬 一個產業(yè)的自畫像
- 世界微資訊!車前草治療痛風偏方_中藥治療痛風偏方十個
- 房地產開發(fā)企業(yè)土地增值稅清算條件稅屋_房地產開發(fā)企業(yè)土地增...
- 當前看點!龍樹菩薩簡介_龍樹菩薩簡單介紹
- 安全生產重在預防 中牟縣濱河社區(qū)強化安全生產宣傳-當前熱聞
- 世界關注:海底撈火鍋有哪些菜品
- 全球資訊:微軟承認輸?shù)糁鳈C大戰(zhàn)
- 小學必背端午節(jié)古詩三年級(小學必背端午節(jié)古詩)
- 許昌東城區(qū):環(huán)保政策入校園 綠色理念入人心|微速訊
- 焦點快報!禹州市財政局在許昌市2022年度縣級財政管理工作考核...
- 國網(wǎng)西峽縣供電公司:站好中考“保電崗” “電”亮莘莘學子夢
- 環(huán)球熱點評!淅川縣成功舉辦第二屆中醫(yī)藥文化傳承活動開幕式
- 首批開發(fā)生產POE膠膜企業(yè)祥邦科技 憑借技術積累廣獲好評|世界訊息
- 商城縣:增設短信提醒功能 提升投訴處理效能
- 港股航運股多數(shù)上漲,東方海外國際漲超4%|今日熱議
- 微動態(tài)丨工商銀行龍鳳呈祥金條100克價格今天多少一克(2023年...
- 5月份債券市場共發(fā)行各類債券54561.6億元|天天報資訊
- 送朋友自制無縫羊毛帽子,手工制作溫暖獨特,好貼心!-天天觀...
- 第七史詩符文怎么獲取 第七史詩符文獲取方法介紹
- 河南杞縣:返鄉(xiāng)創(chuàng)業(yè)帶領鄉(xiāng)親致富 蜜瓜棚邊話增收
- 環(huán)球快訊:青龍電視劇頒獎禮提名公布 宋慧喬秀智等爭奪視后
- 小米旗艦機官方店(小米旗艦機) 世界視點
- 阿爾特塔:阿森納未能贏得英超冠軍“仍然深深傷害了我”
- 好運不斷,財運旺盛,橫財千萬,鈔票進賬如流水3生肖
- 天平街道馬家園村舉辦消防安全知識講座和演練活動
- 四川電費返還暫停了嗎2023?|熱點
- 每日快報!“321”辦學模式提質又增效
- 2023天津瑪雅水公園夜場門票購買入口+流程
- 股東惡斗、現(xiàn)金流不足,三年虧損7.77億元的方舟云康難上市
今日要聞
- 大桶果茶系列全新升級回歸,冰雪時光助你清爽度夏
- 凈水機也內卷?凈派森先內測再上市人氣高
- 美國重大動作曝光,緊急成立工作組,什么信號?一夜暴跌37%,超級巨頭崩盤,影響多大?-世界微頭條
- 天天熱點評!午評:恒指跌0.14% 恒生科指漲0.28%電力股大漲
- 焦點短訊!據(jù)上海鋼聯(lián)數(shù)據(jù)顯示,電池級碳酸鋰均價較上日下跌0.10萬元/噸,報31.40萬元/噸。
- 環(huán)球滾動:一戰(zhàn)中的閃避王是誰?
- 天天快資訊:31名選手集結!杭州亞運會電競項目國家隊完整名單
- 海南周刊 | 盲人調律師王鈺:用耳朵找回走失的音符
- 大桶鮮果茶限時上新,冰雪時光和你清爽一夏