JSON對象及方法
1、JSON
JSON 包括 JSON 字符串和 JSON 對象。JSON 通常用于與服務端交換數據,在給服務器接收和發送數據時用的都是字符串,可以是 JSON 字符串或者一般的鍵值對字符串。把JavaScript對象轉化為 JSON 對象用 JOSN.strigfy() 方法,可以使用 JSON.parse() 方法將接收到的數據轉換為 JavaScript 對象。
JSON 文本的 MIME 類型是 "application/json"
2、JSON 字符串
JOSN字符串由單引號或者雙引號引起來。
var person='{"name":"zhangsan","sex":"男","age":"24"}';//json字符串 alert(person);//{"name":"zhangsan","sex":"男","age":"24"} alert(typeof person);//string
person就是一個json字符串,之所以叫json字符串,因為字符串的格式符合json的格式
3、JSON對象
JSON 對象只包含兩個方法: 用于解析JSON字符串的 parse() 方法,以及將對象/值轉換為 JSON字符串的 stringify() 方法。除了這兩個方法,JSON這個對象本身并沒有其他作用,也不能被調用或者作為構造函數調用。
3.1、JSON.parse()
JSON.parse() 方法將一個 JSON 字符串轉換為對象,并返回該對象。若有回調函數作為第二個參數,則對轉換后的對象的每個成員調用該函數,但是此時不返回該對象了,返回值為undefined。
JSON.parse(text, func); //text:必需,JSON 字符串; func: 可選,一個函數,將為對象的每個成員調用此函數。
示例:
var text = '{"aaa":[' + '{"name":"wen","site":"aaa" },' + '{"name":"hai","site":"bbb" }]}'; var obj = JSON.parse(text); var str = obj.aaa[1].name + " " + obj.aaa[1].site; console.log(str); //hai bbb
使用回調函數
var i = 0; var obj = JSON.parse('{"1": a, "2": b, "3": 333}', function (k, v) { i++ console.log(k,v,i,'--'); //1 a 1 -- 2 b 2 -- 3 333 3 -- '' {} 4 執行了四次,最后一個的屬性值為空字符串 "" }); console.log(obj); //undefined
3.2、JSON.stringify()
JSON.stringify() 方法用于將 JavaScript 值轉換為 JSON 字符串。
JSON.stringify(value, func, space); //value:JavaScript值,通常為對象或者數組; func:回調函數; space:指定一定數目的縮進空格
示例:
var str = { "name": "菜鳥教程"} var str_pretty1 = JSON.stringify(str); console.log(str_pretty1); //{"name":"菜鳥教程"} str_pretty2 = JSON.stringify(str, null, 4) //使用四個空格縮進 console.log(str_pretty2); //{ // "name": "菜鳥教程" //}

浙公網安備 33010602011771號