首页 > 代码库 > 《深入理解JavaScript》—— JSON

《深入理解JavaScript》—— JSON

导读: JSON(JavaScript Object Notation)是纯文本格式的数据存储。它被广泛应用于Web服务的传输媒介、配置文件等。

(1)数据格式

{
    "first" : "luo",
    "last" : "haoran",
    "married" : false,
    "born" : 1995,
    "friends" : ["Yangbo","Liuli"]
}

(2) JSON.stringify(value,replacer?,space?)

JSON.stringify(value,replacer?,space?)将JavaScript值value转换成JSON字符串。它有两个可选参数。

① 节点访问函数,会在值被转换成字符串之前转换树节点值。例如:

function replacer( key , value ) {
    if (typeof value =http://www.mamicode.com/== ‘number‘) {
        value = 2 * value;
    }
    return value;
}
var a = JSON.stringify({
    a : 5,
    b : 6,
    c : 10
},replacer);

console.log(a); // {"a":10,"b":12,"c":20}

② 属性键白名单,用于隐藏那些非数组对象内属性不在这个列表中的所有属性。

可以用于缩进:

(一)数字:

将数字乘以对应量级的缩进,并用对应多的空格来缩进。小于0解释成0;大于10解释成10。

var a = JSON.stringify({
    a : 5,
    b : 6,
    c : 10
},null,6);

console.log(a);
// {
//     "a": 5,
//     "b": 6,
//     "c": 10
// }

这里前面缩进了6个空格。

(二) 字符

var a = JSON.stringify({
    a : 5,
    b : 6,
    c : 10
},null,‘|--‘);

console.log(a); 
// {
// |--"a": 5,
// |--"b": 6,
// |--"c": 10
// }

(3) JSON.parse(text,reviver?)

JSON.parse(text,reviver?)解析文本格式的JSON数据,然后返回相应的值。

(4) 通过节点访问函数转换数据

我:关于这里更加深层次的问题,我暂时是看不懂。跳过这一点。

《深入理解JavaScript》—— JSON