一篇文章教會(huì)你JavaScript json 解析_當(dāng)前動(dòng)態(tài)
回復(fù)“前端”即可獲贈(zèng)前端相關(guān)學(xué)習(xí)資料
今
(資料圖片僅供參考)
日
雞
湯
疾風(fēng)知?jiǎng)挪荩迨幾R(shí)誠(chéng)臣。JSON的一個(gè)常見用途是交換數(shù)據(jù)到從一個(gè)Web服務(wù)器,當(dāng)從web服務(wù)器接收數(shù)據(jù)時(shí),數(shù)據(jù)總是一個(gè)字符串。使用JSON.parse()方法解析這些數(shù)據(jù),數(shù)據(jù)變成JavaScript對(duì)象。一、瀏覽器支持JSON.parse() 函數(shù)包括所有主要的瀏覽器和最新的ECMAScript(JavaScript)標(biāo)準(zhǔn):
瀏覽器支持 |
---|
Firefox 3.5 ,Internet Explorer 8 ,Chrome, Opera 10 ,Safari 4 |
想象一下,我們從Web服務(wù)器收到這個(gè)文本:
"{ "name":"John", "age":30, "city":"New York"}"
使用JavaScript函數(shù)JSON.parse() 將文本轉(zhuǎn)換成JavaScript對(duì)象:
var obj = JSON.parse("{ "name":"John", "age":30, "city":"New York"}");
注:確保文字是用JSON格式,否則你會(huì)得到一個(gè)語(yǔ)法錯(cuò)誤。
在你的頁(yè)面中使用JavaScript對(duì)象:
2. 從服務(wù)器獲得JSON項(xiàng)目 JSON解析文本
你可以使用AJAX請(qǐng)求從服務(wù)器獲得JSON。
只要來(lái)自服務(wù)器的響應(yīng)是用JSON格式,您可以將字符串解析成JavaScript對(duì)象。
Ajax是什么?
Asynchronous JavaScript & XML。Ajax是web開發(fā)的一種技術(shù)。
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();
服務(wù)器端 訪問(wèn)成功!將JSON解析的內(nèi)容保存在json_demo.txt。
3. 數(shù)組作為JSON當(dāng)使用JSON.parse()方法的使用, 該方法將返回一個(gè)JavaScript數(shù)組, 而不是一個(gè)JavaScript對(duì)象.
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();
為了方便測(cè)速,自己創(chuàng)建了json_demo_array.txt文件。
json_demjo_array.txt
三、拓展解析日期(2種)在JSON中,日期對(duì)象是不允許的。
如果需要包含日期,請(qǐng)將其寫成字符串.
1. 將其轉(zhuǎn)換為日期對(duì)象: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ù)的第二個(gè)參數(shù), 稱為接收器
該接收機(jī)參數(shù),返回值之前,檢查每個(gè)屬性。
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ù).
如果你需要包含一個(gè)函數(shù),寫成字符串。
以后您可以將其轉(zhuǎn)換為函數(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()將它們轉(zhuǎn)換回函數(shù)。
四、總結(jié)本文基于JavaScript ,介紹了 json 解析在實(shí)際的應(yīng)用。如何去解析一個(gè)JSON文件,從三個(gè)方面進(jìn)行了講解。在實(shí)際過(guò)程中遇到的難點(diǎn),提供了有效的解決方案。最后拓展,希望對(duì)JSON解析有了進(jìn)一步的了解,使用JavaScript 語(yǔ)言,效果圖動(dòng)展示,希望能夠讓讀者更好的理解。
代碼很簡(jiǎn)單,希望能夠幫助你更好的學(xué)習(xí)。
-------------------?End?-------------------
往期精彩文章推薦:
盤點(diǎn)JavaScript中數(shù)組遍歷的全部方式(上篇)盤點(diǎn)JavaScript中數(shù)組遍歷的全部方式(下篇)一篇文章帶你了解JavaScript日期歡迎大家點(diǎn)贊,留言,轉(zhuǎn)發(fā),轉(zhuǎn)載,感謝大家的相伴與支持
想加入前端學(xué)習(xí)群請(qǐng)?jiān)诤笈_(tái)回復(fù)【入群】
萬(wàn)水千山總是情,點(diǎn)個(gè)【在看】行不行
關(guān)鍵詞:
您可能也感興趣:
為您推薦
肖像畫素描步驟(肖像畫素描)
男子每天1斤楊梅狂吃20天要做血透
東安縣花橋鎮(zhèn):“三管齊下”助力鄉(xiāng)村振興“加速跑” 世界速看料
更多
- 環(huán)球快報(bào):午間公告:華康醫(yī)療中標(biāo)9168.6萬(wàn)元醫(yī)療專項(xiàng)施工項(xiàng)目
- 2023佛山陽(yáng)光mini動(dòng)漫展嘉賓有誰(shuí)? 環(huán)球觀速訊
- 全球今日訊!市場(chǎng)對(duì)需求擔(dān)憂持續(xù) 國(guó)際油價(jià)23日下跌
- 今日要聞!500強(qiáng)礦業(yè)龍頭「紫金礦業(yè)」X企企通:打造全場(chǎng)景采購(gòu)...
- 聯(lián)合國(guó)貿(mào)發(fā)會(huì)議:一季度全球貨物和服務(wù)貿(mào)易出現(xiàn)反彈
- 外賣騎手當(dāng)心!有人想利用你們干這種嚴(yán)重違法的事-焦點(diǎn)速訊
- 全球報(bào)道:項(xiàng)目經(jīng)理告訴你,項(xiàng)目管理的基本原則
- 十大券商看后市:A股短期或有所波動(dòng) 流動(dòng)性仍對(duì)市場(chǎng)有支撐_...
更多
- 新南潯孔雀城,用優(yōu)良服務(wù)創(chuàng)造美好生活_天天熱議
- 伊通:今年共計(jì)實(shí)施7個(gè)綠水長(zhǎng)廊項(xiàng)目
- 英雄聯(lián)盟fps不穩(wěn)定換什么(英雄聯(lián)盟fps不穩(wěn)定) 世界報(bào)道
- 港股午評(píng):恒指跌0.14% 恒生科技指數(shù)漲0.28% 天天快資訊
- 愛設(shè)計(jì) AI 一鍵生成 PPT 工具上線:輸入標(biāo)題即可生成 PPT
- 2023年高校畢業(yè)生等青年就業(yè)服務(wù)攻堅(jiān)行動(dòng)啟動(dòng)
- 茅臺(tái)融資租賃公司獲30億增資!注冊(cè)資本增至50億元|天天觀焦點(diǎn)
- 世界今頭條!身份證和檔案年齡不一致,退休時(shí)按哪個(gè)計(jì)算?最...
排行
- 王慧文因個(gè)人健康原因辭去美團(tuán)相關(guān)職務(wù) 新公司光年之外剛獲2...
- 當(dāng)前觀察:中科院院士吳一戎:遙感數(shù)據(jù)呈爆炸式增長(zhǎng) “蠻力...
- 勞務(wù)輸出是什么意思網(wǎng)絡(luò)用語(yǔ)_勞務(wù)輸出是什么意思 全球關(guān)注
- net framework4.8下載_net framework 4 0 32位下載 世界短訊
- 廣州希爾頓酒店多少錢一晚_希爾頓酒店多少錢一晚 環(huán)球最新
- 孕婦可以吃杏呢_孕婦可以吃杏嗎-焦點(diǎn)熱文
- t17_關(guān)于t17的介紹
- 紫牛拍咖丨天空的禮物!京杭大運(yùn)河上空粉色晚霞好浪漫
- 全球今頭條!打造標(biāo)桿綠色建筑 臺(tái)泥大陸運(yùn)營(yíng)總部封頂
- 花壇展“新顏”,小河街道“盛裝”迎亞運(yùn)
最近更新
- 一篇文章教會(huì)你JavaScript json 解析_當(dāng)前動(dòng)態(tài)
- 【世界報(bào)資訊】2023天津津南區(qū)生源地助學(xué)貸款貼息和寬限期規(guī)定
- 華緯科技(001380.SZ):ABB是我司客戶-焦點(diǎn)熱訊
- 世界簡(jiǎn)訊:奔跑的“三夏”·瞰豐收
- 快看點(diǎn)丨戰(zhàn)略性礦產(chǎn)綜合利用工程技術(shù)創(chuàng)新中心揭牌
- 天天新動(dòng)態(tài):京西四大名關(guān)是什么
- 這所大學(xué)可以入學(xué)后再選專業(yè)! 世界視訊
- win10如何恢復(fù)系統(tǒng)還原不_win10如何恢復(fù)系統(tǒng)還原
- 第二屆全國(guó)技能大賽山西選拔賽長(zhǎng)治市代表隊(duì)拔頭籌|全球快看點(diǎn)
- 2022年度個(gè)稅匯算將于6月30日結(jié)束 退稅“紅包”別錯(cuò)過(guò) 世界熱門
- 聲動(dòng)中國(guó)丨“努力了!成功了!”
- 緊急提醒!遇到這種蟲子,千萬(wàn)別擠壓! 實(shí)時(shí)
- “城鎮(zhèn)老舊小區(qū)既有多層住宅加裝電梯”擬入法-新消息
- 愛普生針式打印機(jī)色帶安裝圖解視頻_打印機(jī)色帶安裝圖解
- 2023北京西山永定河文化節(jié)開幕 公眾可體驗(yàn)古建修繕,走進(jìn)考古現(xiàn)場(chǎng)
- 新疆交建(002941.SZ):特變集團(tuán)以集中競(jìng)價(jià)完成減持1.90%的股份
- 高校畢業(yè)季來(lái)了,今年打動(dòng)人的畢業(yè)致辭有哪些?_全球熱門
- 投訴長(zhǎng)沙市望城區(qū)政府將4號(hào)線北延線同心路站北移800米至旺旺...
- 熱點(diǎn)聚焦:各類音樂(lè)節(jié)端午火出圈:演出經(jīng)濟(jì),大有可為
- 天天報(bào)道:李彥宏:大模型是當(dāng)下全球科技創(chuàng)新焦點(diǎn)
- 做人,請(qǐng)嘴下留情
- 中航重機(jī)(600765.SH):擬對(duì)全資子公司宏遠(yuǎn)公司和安大公司減資
- Shibor短端品種漲跌不一
- 慢性盆腔痛,千萬(wàn)別忍著 環(huán)球觀熱點(diǎn)
- 每日快看:光迅科技:公司2022年光模塊業(yè)務(wù)收入占比在60%左右
- “領(lǐng)導(dǎo)”要求轉(zhuǎn)賬15萬(wàn),恰巧民警來(lái)單位宣傳反詐|全球即時(shí)看
- 京東物流一號(hào)人物余睿辭任,接任者胡偉是誰(shuí)?
- 天天快訊:柳汀頗急治生,詩(shī)以調(diào)之_關(guān)于柳汀頗急治生,詩(shī)以調(diào)...
- 世界新消息丨大理祥云改造提升老舊小區(qū) 建設(shè)美麗宜居城市
- 天天要聞:誰(shuí)說(shuō)大屏便攜無(wú)法兼得?明基E60便攜投影為職場(chǎng)人撐腰
今日要聞
- 大桶鮮果茶限時(shí)上新,冰雪時(shí)光和你清爽一夏
- 寶藏女孩何泓姍、美女主持梁田在《沖呀!下班了》帶你體驗(yàn)?zāi)Ф加崎e舒適的下班時(shí)光
- 女性容易長(zhǎng)斑的五個(gè)時(shí)期是什么?
- 用友BIP持續(xù)創(chuàng)新,引領(lǐng)信創(chuàng)產(chǎn)業(yè)發(fā)展
- 環(huán)球焦點(diǎn)!廣西北流南部各鄉(xiāng)鎮(zhèn)遭遇強(qiáng)降雨 當(dāng)?shù)剡B夜搶修保供電
- 2023年廣東高考志愿填報(bào)流程
- 煥新升級(jí) 賦能品牌 | 老人頭品牌閃耀首屆鞋都文化周
- 康斯特:公司壓力傳感器芯體會(huì)先滿足自用|天天速看料
- 安徽省郎溪縣濤城市場(chǎng)監(jiān)管所“三步走”護(hù)航端午期間藥品安全
- 環(huán)球觀焦點(diǎn):“陽(yáng)康”多久能備孕?醫(yī)生提醒:這點(diǎn)很重要!