日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

JSON学习笔记(四)- JSON.parse()

發(fā)布時間:2024/1/23 javascript 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JSON学习笔记(四)- JSON.parse() 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

JSON.parse()

JSON 通常用于與服務(wù)端交換數(shù)據(jù)。

在接收服務(wù)器數(shù)據(jù)時一般是字符串。

我們可以使用 JSON.parse() 方法將數(shù)據(jù)轉(zhuǎn)換為 JavaScript 對象。

語法

JSON.parse(text[, reviver])

參數(shù)說明:

  • text:必需, 一個有效的 JSON 字符串。
  • reviver: 可選,一個轉(zhuǎn)換結(jié)果的函數(shù), 將為對象的每個成員調(diào)用此函數(shù)。

JSON 解析實(shí)例

例如我們從服務(wù)器接收了以下數(shù)據(jù):

{ "name":"runoob","alexa":10000,"site":"www.runoob.com"}

我們使用 JSON.parse() 方法處理以上數(shù)據(jù),將其轉(zhuǎn)換為 JavaScript 對象:

var obj = JSON.parse('{ "name":"runoob", "alexa":10000, "site":"www.runoob.com" }');

解析前要確保你的數(shù)據(jù)是標(biāo)準(zhǔn)的 JSON 格式,否則會解析出錯。

你可以使用我們的在線工具檢測:https://c.runoob.com/front-end/53。

解析完成后,我們就可以在網(wǎng)頁上使用 JSON 數(shù)據(jù)了:

實(shí)例

<pid="demo"></p><script>var obj = JSON.parse('{ "name":"runoob", "alexa":10000, "site":"www.runoob.com" }');document.getElementById("demo").innerHTML = obj.name + ":" + obj.site;</script>


從服務(wù)端接收 JSON 數(shù)據(jù)

我們可以使用 AJAX 從服務(wù)器請求 JSON 數(shù)據(jù),并解析為 JavaScript 對象。

實(shí)例

var xmlhttp = newXMLHttpRequest();xmlhttp.onreadystatechange = function(){ if(this.readyState ==4 && this.status ==200){ myObj =JSON.parse(this.responseText);document.getElementById("demo").innerHTML = myObj.name;}};xmlhttp.open("GET","/try/ajax/json_demo.txt",true);xmlhttp.send();

查看服務(wù)端數(shù)據(jù): json_demo.txt


從服務(wù)端接收數(shù)組的 JSON 數(shù)據(jù)

如果從服務(wù)端接收的是數(shù)組的 JSON 數(shù)據(jù),則 JSON.parse 會將其轉(zhuǎn)換為 JavaScript 數(shù)組:

實(shí)例

var xmlhttp = newXMLHttpRequest();xmlhttp.onreadystatechange = function(){ if(this.readyState ==4 && this.status ==200){ myArr =JSON.parse(this.responseText);document.getElementById("demo").innerHTML = myArr[1];}};xmlhttp.open("GET","/try/ajax/json_demo_array.txt",true);xmlhttp.send();

查看服務(wù)端數(shù)據(jù): json_demo_array.txt


異常

解析數(shù)據(jù)

JSON 不能存儲 Date 對象。

如果你需要存儲 Date 對象,需要將其轉(zhuǎn)換為字符串。

之后再將字符串轉(zhuǎn)換為 Date 對象。

實(shí)例

var text = '{ "name":"Runoob", "initDate":"2013-12-14", "site":"www.runoob.com"}';varobj = JSON.parse(text);obj.initDate = new Date(obj.initDate);document.getElementById("demo").innerHTML = obj.name +"創(chuàng)建日期: " +obj.initDate;

我們可以啟用 JSON.parse 的第二個參數(shù) reviver,一個轉(zhuǎn)換結(jié)果的函數(shù),對象的每個成員調(diào)用此函數(shù)。

實(shí)例

var text = '{ "name":"Runoob", "initDate":"2013-12-14", "site":"www.runoob.com"}';varobj = JSON.parse(text,function (key,value){ if(key =="initDate"){ returnnew Date(value);} else{ returnvalue;}});document.getElementById("demo").innerHTML = obj.name +"創(chuàng)建日期:" +obj.initDate;


解析函數(shù)

JSON 不允許包含函數(shù),但你可以將函數(shù)作為字符串存儲,之后再將字符串轉(zhuǎn)換為函數(shù)。

實(shí)例

var text = '{ "name":"Runoob", "alexa":"function () {return 10000;}", "site":"www.runoob.com"}';varobj = JSON.parse(text);obj.alexa = eval("(" +obj.alexa +")");document.getElementById("demo").innerHTML = obj.name +" Alexa 排名:" +obj.alexa();

總結(jié)

以上是生活随笔為你收集整理的JSON学习笔记(四)- JSON.parse()的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。