文档章节

json - 解析选项

lemos
 lemos
发布于 2016/11/23 23:38
字数 226
阅读 1
收藏 0

JSON.parse( ) 方法可以接收一个函数作为参数 。该函数将在每个键值对上调用。

还原函数(reviewer)和过滤函数(replacer)的签名是一样的。(都需要接收两个参数,key,value。同时,都需要返回一个值。)

如果还原函数返回 undifined,表示从结果中删除相应的键。如果返回其他值,则将该值插入到结果中。(常用于将日期字符串转换为Date对象。)

例如:

var book = {
    "title": "Profession JavaScript",
    "authors": [
        "NIcholas C. Zakas"
    ],
    edition: 3,
    year: 2011,
    releaseDate: new Date(2011,11,1)

};

var jsonText = JSON.stringify(book);

var bookCopy = JSON.parse(jsonText,function (key, value) {
    if (key == "releaseDate") {
        return new Date(value);
    } else {
        return value;
    }
});

console.log(bookCopy);
//输出结果

{ title: 'Profession JavaScript',
  authors: [ 'NIcholas C. Zakas' ],
  edition: 3,
  year: 2011,
  releaseDate: 2011-11-30T16:00:00.000Z }

注意:如果不对Date对象作上述处理,那么输出结果为:

{ title: 'Profession JavaScript',
  authors: [ 'NIcholas C. Zakas' ],
  edition: 3,
  year: 2011,
  releaseDate: '2011-11-30T16:00:00.000Z' }

© 著作权归作者所有

共有 人打赏支持
上一篇: Log4j 入门
下一篇: json - 序列化选项
lemos
粉丝 8
博文 184
码字总数 92482
作品 0
芜湖
后端工程师
私信 提问
Expressbody-parser

常用API 1. bodyParser.json(options) 解析二进制格式(Buffer流数据) bodyParser.json(options)返回一个仅解析json格式数据的中间件。 option可选对象: 1. inflate - 设置为true时,deflate...

博为峰教研组
2016/11/23
1
0
Swift 与 JSON 数据

Swift 与 JSON 数据 我们大家平时在开发 App 的时候,相信接触最多的就是 JSON 数据了。只要你的 App 有读取网络数据的功能,你就免不了要与 JSON 打交道。比如你做一个新闻 App,你要读取和...

法斗斗
2016/06/23
13
0
nodejs body-parser 解析post数据实例

安装 1 API 1 可以通过body-parser 对象创建中间件,当接收到客户端请求时所有的中间件都会给req.body 添加属性,请求体为空,则解析为空{} (或者出现错误)。 bodyParser.json(options) 中...

simpower
2018/05/24
0
0
redis快照文件dump.rdb解析工具--redis-rdb-tools

解析Redis dump.rdb文件,分析内存并将数据导出到JSON Rdbtools是Redis的dump.rdb文件的解析器。解析器生成类似于xml sax解析器的事件,并且非常有效的内存明智。 此外,rdbtools还提供实用程...

古城寨主
2017/08/22
0
0
JSON对象 javscript对象 解析JSON 序列化JSON

在ajax交互的时候我们只需要拿到数据(主要是JSON)去渲染处理逻辑就可以,不需要对JSON有详细的了解,但是有时候后台接口开发没有完成,需要写伪代码的时候我们可以自己手动造一些假数据,这样...

张超群的web之路
2016/10/30
24
0

没有更多内容

加载失败,请刷新页面

加载更多

深入理解JVM—JVM内存模型

深入理解JVM—JVM内存模型 我们知道,计算机CPU和内存的交互是最频繁的,内存是我们的高速缓存区,用户磁盘和CPU的交互,而CPU运转速度越来越快,磁盘远远跟不上CPU的读写速度,才设计了内存...

onedotdot
33分钟前
1
0
MVC、MVCS、MVVM、MVP、VIPER等这么多架构模式哪一个好呢?

在项目开启阶段,其中一个很重要的环节就是选架构。 那么面对目前已知的这么多架构模式我们该怎么选择呢?这确实是个很让人头疼的问题! 下面我就在这里梳理一下目前常见的一些架构模式。 先...

Java干货分享
今天
4
0
简单模仿配置文件的反射机制

//Student类 public class Student { public void love() { System.out.println("python"); } } //Tesy类 public class Tesy { public static void main(String[] args) throws Exceptio......

南桥北木
今天
2
0
你真的需要了解一下CSS变量 var()的用法

当Web项目变得越来越大时,他的CSS会变得像天文数字那么大而且还变得混乱。为了帮助我们解决这个问题,新的CSS变量很快就会出现在主流浏览器中,它让开发人员能够重用并轻松编辑重复出现的C...

前端小攻略
今天
1
0
嵌入式应用选择合适的微控制器

为嵌入式应用选择微控制器有几个原因,即低成本,高集成度,增加可靠性,节省空间等。 准备所需硬件接口列表使用微控制器的基本硬件框图,准备一份微控制器需要支持的所有外设接口的列表。微...

linux-tao
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部