zoukankan      html  css  js  c++  java
  • js解析与序列化json数据(三)

      这一节我们主要讨论json的解析。
      JSON.parse()方法也可以接收另一个参数,该参数是一个函数,将早每个键值对上调用。为了区别JSON.stringify()接收的替换(过滤)函数(replacer),这个函数被称作还原函数(reviver),但实际上这两个函数的签名是相同的——它们都接收连个参数,一个键和一个值,而且都需要返回一个值。
      如果还原函数返回undefined,则表示要从结果中删除相应的键;如果返回其他值,则将该值插入到结果中。如:

    <html>
    <head>
        <title></title>
        <script type="text/javascript">
            function init()
            {
                var student={
                    name:"Bill",
                    birthDate:new Date(1990,8,4)
                };
                var jsonText=JSON.stringify(student);
                var studentObject=JSON.parse(jsonText,function(key,value){
                    if(key=="birthDate")
                    {
                        return new Date(value);
                    }
                    else
                    {
                        return value;
                    }
                });
            }
        </script>
    </head>
    <body>
              <input type="button" onclick="init()" value="测试" />
    </body>
    </html>

      以上代码先是为student添加了出生日期birthDate属性,该属性保存着一个Date对象。这个对象在经过序列化之后变成了有效地JSON字符串,然后经过解析又在studentObject中还原为一个Date对象。

  • 相关阅读:
    《Maven实战》第6章 仓库
    Log4j2中的同步日志与异步日志
    CSDN VIP如何添加自定义栏目
    CSDN VIP如何添加引流自定义栏目
    kubernetes垃圾回收器GarbageCollector Controller源码分析(二)
    java图形验证码实现
    java这个404你能解决吗?
    innodb笔记
    java项目启动脚本
    服务器初始化脚本
  • 原文地址:https://www.cnblogs.com/zhuimengdeyuanyuan/p/2869834.html
Copyright © 2011-2022 走看看