微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

javascript权威指南第20章 JSON

//20.1 语法
//JAVASCRIPT 是对JSON数据支持的。
//JSON 可以申明三种类型的值  简单值("hello world") 对象({"name":"maosi"}) 数组(["a","b","c"])

//20.1.2 json对象

var person = { "name": "Nicholas","age": 29 };
person = {
    "name": "Nicholas","age": 29,"school": {
        "name": "Merrimack College","location": "north Andover,MA"
    }
}
//js 对象
var person = { name: "Nicholas",age: 29 };


//20.1.3 数组(js语法与json 数组一样)
var values = [25,‘hi‘,true];
//复杂结构数组
[
    {
        "title": "Professnional javascript","authors": [
            "Nicholas C Zakas"
        ],edition: 3,year: 2011
    },{
        "title": "Professnional javascript",edition: 2,year: 2009
    }
]

//20.2 解析与序列化

//序列化
var book = {
    title: "professional JavaScript",authors: ["Nicholas C Zakas"],year: 2011,releaseDate:new Date(2011,1,1);
};
var jsontext = JSON.stringify(book);

//20.2.2 序列化选项

jsontext = JSON.stringify(book,["title","edition"]); //表示序列化的属性数组(指定只序列化哪些属性)
//序列化属性进行逻辑处理
jsontext = JSON.stringify(book,function (key,value){
    switch (key) {
        case "authors":
            return value.JSON(‘,‘);
        case "year":
            return 5000;
        case "edition":
            return undefined; //此处被定义为undefined后字符串后序列化时会忽略该字段,ignore
        default:
            return value;
    }
   
});

//JSON字符串缩进,上述方法会把JSON序列化成一行长长的字符串
jsontext = JSON.stringify(book,null,4); //第三个参数表示每个级别缩进的空格数

JSON.parse(jsontext,function(key,value){
     if(key ==‘releaseDate‘){
         return new Date(value); //特定对象要进行字符串还原操作
     }
     else{
         return value;
     }
});

//20.3 小结

原文地址:https://www.jb51.cc/js/639460.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐