1、什么是JSON?
JSON(JavaScript Object Notation, JS 對象標記) 是一種輕量級的數據交換格式。它基于 ECMAScript 規范的一個子集,采用完全獨立于編程語言的文本格式來存儲和表示數據。簡潔和清晰的層次結構使得 JSON 成為理想的數據交換語言。 易于人閱讀和編寫,同時也易于機器解析和生成,并有效地提升網絡傳輸效率。這是百度百科給出的JSON的定義。
我理解的JSON是JS創建對象的一種方法,后來從JS中獨立出來,作為一種字符串數據的表示法,被各種語言支持;相對于XML而言,比XML更加輕量級、簡潔、處理速度更快;
2、JSON的兩種格式:
JSON對象字符串格式:'{"key1":"value1","key2":"value2"}'
JSON數組字符串格式:'[value1,value2,value3,...]'
3、JSON 與 JS 對象的關系:
JSON 是 JS 對象的字符串表示法,它使用文本表示一個 JS 對象的信息,本質是一個字符串。
var obj = {a: 'Hello', b: 'World'}; //這是一個對象,注意鍵名也是可以使用引號包裹的
var json = '{"a": "Hello", "b": "World"}'; //這是一個 JSON 字符串,本質是一個字符串
4、JSON 和 JS 對象互轉
瀏覽器提供的方法:
要實現從JS對象轉換為 JSON 字符串,使用 JSON.stringify() 方法:
var json = JSON.stringify({a: 'Hello', b: 'World'}); //結果是 '{"a": "Hello", "b": "World"}'
要實現從 JSON 轉換為JS對象,使用 JSON.parse() 方法:
var obj = JSON.parse('{"a": "Hello", "b": "World"}'); //結果是 {a: 'Hello', b: 'World'}
注:ie8(兼容模式),ie7和ie6沒有JSON對象,推薦采用JSON官方的方式,引入json.js
jquery提供的方法 :
$.parseJSON( jsonstr ); //jQuery.parseJSON(jsonstr),可以將json字符串轉換成json對象
Javascript提供的方法:
eval('(' + jsonstr + ')'); //可以將json字符串轉換成json對象,注意需要在json字符外包裹一對小括號
注:ie8(兼容模式),ie7和ie6也可以使用eval()將字符串轉為JSON對象,但不推薦這些方式,這種方式不安全eval會執行json串中的表達式。
以上這篇Ajax 接收服務器返回的json響應方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
您可能感興趣的文章:- ajax響應json字符串和json數組的實例(詳解)
- Node.js如何響應Ajax的POST請求并且保存為JSON文件詳解
- 原生JS實現Ajax跨域請求flask響應內容
- Js中使用hasOwnProperty方法檢索ajax響應對象的例子
- 原生javascript的ajax請求及后臺PHP響應操作示例
- 在AngularJs中設置請求頭信息(headers)的方法及不同方法的比較
- selenium設置proxy、headers的方法(phantomjs、Chrome、Firefox)
- node.js中的http.response.getHeader方法使用說明
- node.js中的http.response.setHeader方法使用說明
- node.js中的http.response.removeHeader方法使用說明
- js 使用ajax設置和獲取自定義header信息的方法小結