1. 程式人生 > >JSON對象及方法

JSON對象及方法

構造 defined class 回調函數 不返回 空字符串 執行 -a def

JSON對象只包含兩個方法:: 用於解析JSON字符串的 parse() 方法,以及將對象/值轉換為 JSON字符串的 stringify() 方法。除了這兩個方法,JSON這個對象本身並沒有其他作用,也不能被調用或者作為構造函數調用。

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

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": "菜鳥教程"
//}

教程:http://www.runoob.com/js/js-json.html

JSON對象及方法