Ajax 接收服務(wù)器返回的json響應(yīng)方法
1、什么是JSON?
JSON(JavaScript Object Notation, JS 對(duì)象標(biāo)記) 是一種輕量級(jí)的數(shù)據(jù)交換格式。它基于 ECMAScript 規(guī)范的一個(gè)子集,采用完全獨(dú)立于編程語(yǔ)言的文本格式來(lái)存儲(chǔ)和表示數(shù)據(jù)。簡(jiǎn)潔和清晰的層次結(jié)構(gòu)使得 JSON 成為理想的數(shù)據(jù)交換語(yǔ)言。 易于人閱讀和編寫(xiě),同時(shí)也易于機(jī)器解析和生成,并有效地提升網(wǎng)絡(luò)傳輸效率。這是百度百科給出的JSON的定義。
我理解的JSON是JS創(chuàng)建對(duì)象的一種方法,后來(lái)從JS中獨(dú)立出來(lái),作為一種字符串?dāng)?shù)據(jù)的表示法,被各種語(yǔ)言支持;相對(duì)于XML而言,比XML更加輕量級(jí)、簡(jiǎn)潔、處理速度更快;
2、JSON的兩種格式:
JSON對(duì)象字符串格式:'{"key1":"value1","key2":"value2"}'
JSON數(shù)組字符串格式:'[value1,value2,value3,...]'
3、JSON 與 JS 對(duì)象的關(guān)系:
JSON 是 JS 對(duì)象的字符串表示法,它使用文本表示一個(gè) JS 對(duì)象的信息,本質(zhì)是一個(gè)字符串。
var obj = {a: 'Hello', b: 'World'}; //這是一個(gè)對(duì)象,注意鍵名也是可以使用引號(hào)包裹的 var json = '{"a": "Hello", "b": "World"}'; //這是一個(gè) JSON 字符串,本質(zhì)是一個(gè)字符串
4、JSON 和 JS 對(duì)象互轉(zhuǎn)
瀏覽器提供的方法:
要實(shí)現(xiàn)從JS對(duì)象轉(zhuǎn)換為 JSON 字符串,使用 JSON.stringify() 方法:
var json = JSON.stringify({a: 'Hello', b: 'World'}); //結(jié)果是 '{"a": "Hello", "b": "World"}'
要實(shí)現(xiàn)從 JSON 轉(zhuǎn)換為JS對(duì)象,使用 JSON.parse() 方法:
var obj = JSON.parse('{"a": "Hello", "b": "World"}'); //結(jié)果是 {a: 'Hello', b: 'World'}
注:ie8(兼容模式),ie7和ie6沒(méi)有JSON對(duì)象,推薦采用JSON官方的方式,引入json.js
jquery提供的方法 :
$.parseJSON( jsonstr ); //jQuery.parseJSON(jsonstr),可以將json字符串轉(zhuǎn)換成json對(duì)象
Javascript提供的方法:
eval('(' + jsonstr + ')'); //可以將json字符串轉(zhuǎn)換成json對(duì)象,注意需要在json字符外包裹一對(duì)小括號(hào)
注:ie8(兼容模式),ie7和ie6也可以使用eval()將字符串轉(zhuǎn)為JSON對(duì)象,但不推薦這些方式,這種方式不安全eval會(huì)執(zhí)行json串中的表達(dá)式。
以上這篇Ajax 接收服務(wù)器返回的json響應(yīng)方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- ajax響應(yīng)json字符串和json數(shù)組的實(shí)例(詳解)
- Node.js如何響應(yīng)Ajax的POST請(qǐng)求并且保存為JSON文件詳解
- 原生JS實(shí)現(xiàn)Ajax跨域請(qǐng)求flask響應(yīng)內(nèi)容
- Js中使用hasOwnProperty方法檢索ajax響應(yīng)對(duì)象的例子
- 原生javascript的ajax請(qǐng)求及后臺(tái)PHP響應(yīng)操作示例
- 在AngularJs中設(shè)置請(qǐng)求頭信息(headers)的方法及不同方法的比較
- selenium設(shè)置proxy、headers的方法(phantomjs、Chrome、Firefox)
- node.js中的http.response.getHeader方法使用說(shuō)明
- node.js中的http.response.setHeader方法使用說(shuō)明
- node.js中的http.response.removeHeader方法使用說(shuō)明
- js 使用ajax設(shè)置和獲取自定義header信息的方法小結(jié)
相關(guān)文章
AJAX驗(yàn)證數(shù)據(jù)庫(kù)內(nèi)容并將值顯示在頁(yè)面
光標(biāo)離開(kāi)文本框,在本頁(yè)面的相應(yīng)地方獲取數(shù)據(jù)庫(kù)中改值所對(duì)應(yīng)的其他數(shù)據(jù),相應(yīng)的實(shí)現(xiàn)代碼如下,感興趣的朋友可以看看2014-08-08AJAX跨域請(qǐng)求之JSONP獲取JSON數(shù)據(jù)
JSONP(JSON with Padding)是一個(gè)非官方的協(xié)議,它允許在服務(wù)器端集成Script tags返回至客戶端,通過(guò)javascript callback的形式實(shí)現(xiàn)跨域訪問(wèn)(這僅僅是JSONP簡(jiǎn)單的實(shí)現(xiàn)形式)。2015-09-09結(jié)合AJAX進(jìn)行PHP開(kāi)發(fā)之入門(mén)
結(jié)合AJAX進(jìn)行PHP開(kāi)發(fā)之入門(mén)...2006-12-12巧用ajax請(qǐng)求服務(wù)器加載數(shù)據(jù)列表時(shí)提示loading的方法
下面小編就為大家?guī)?lái)一篇巧用ajax請(qǐng)求服務(wù)器加載數(shù)據(jù)列表時(shí)提示loading的方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-04-04PPJOKE 0.1 (網(wǎng)頁(yè)嵌入聊天)提供下載
PPJOKE 0.1 (網(wǎng)頁(yè)嵌入聊天)提供下載...2006-10-10使用ajax實(shí)現(xiàn)分頁(yè)技術(shù)
這篇文章主要為大家詳細(xì)介紹了如何使用ajax實(shí)現(xiàn)分頁(yè)技術(shù),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-02-02一文掌握ajax、fetch和axios的區(qū)別對(duì)比
AJAX可以在不更新全局的情況下更新局部頁(yè)面。通過(guò)在與服務(wù)器進(jìn)行數(shù)據(jù)交換,可以使網(wǎng)頁(yè)實(shí)現(xiàn)異步更新,這篇文章主要介紹了ajax、fetch和axios的比較,需要的朋友可以參考下2022-06-06自己動(dòng)手打造ajax圖片上傳(網(wǎng)上沒(méi)有的)
需要一款圖片上傳插件,但是網(wǎng)上沒(méi)有提供一款符合自己需求且好用的。于是就自己動(dòng)手寫(xiě)了一個(gè),需要的朋友可以參考下2014-06-06asp.net中mvc使用ajax提交參數(shù)的匹配問(wèn)題解決探討
本文為大家介紹下使用javaScript解決asp.net中mvc使用ajax提交參數(shù)的匹配問(wèn)題,遇到類(lèi)似情況的朋友可以參考下,希望對(duì)大家有所幫助2013-07-07Ajax Session失效跳轉(zhuǎn)登錄頁(yè)面的方法
這篇文章主要介紹了Ajax Session失效跳轉(zhuǎn)登錄頁(yè)面的方法,非常不錯(cuò)具有參考借鑒價(jià)值,感興趣的朋友一起看下吧2016-06-06