【JavaScript高级程序设计】23、json

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <title>JSON操作</title>
</head>
<body>
    <script type="text/javascript">
        var book = {
                      title : "cutter_point",
                      authors:["cutter", "point"],
                      year:2016,
                      edition:98,
                      releaseDate:new Date(2011, 11, 1)
                    };
        //借助JSON对象吧JavaScript对象序列化为json数据
        var jsonString = JSON.stringify(book);
        //json过滤
        var jsonsub = JSON.stringify(book, ["title", "authors"], 4);
        alert(jsonString + " <=============> " + jsonsub);

        //利用函数过滤
        var guoluf = function(key, value)
                    {
                        switch(key)
                        {
                            case "authors":
                                return value.join("$"); //用美元符划分
                            case "year":
                                return 999;

                            case "edition":
                                return undefined;
                            default:
                                return value; //让其他值也可以显示
                        }
                    }
        //第三个参数,就是缩进
        var guolvff = JSON.stringify(book, guoluf, "--");
        var guolvff2 = JSON.stringify(book);
        alert(guolvff);

        //吧json还原为JavaScript对象
        var huanyuan = function(key, value)
                        {
                            if(key == "releaseDate")
                                return new Date(value);
                            else
                                return value;    //不是时间就不做处理
                        }
                        //这里解析不能出现缩进
        var parsejson = JSON.parse(guolvff2, huanyuan);

        alert(parsejson.releaseDate.getFullYear());
    </script>
</body>
</html>

 

显示结果:

 

posted @ 2016-08-17 22:06  cutter_point  阅读(123)  评论(0)    收藏  举报