JSON.parse 函数 (JavaScript)
语法 : JSON.parse(text [, reviver])
参数 :text必需,一个有效的 JSON 字符串
reviver可选,一个转换结果的函数, 将为对象的每个成员调用此函数,如果成员包含嵌套对象,则先于父对象转换嵌套对象。 对于每个成员,会发生以下情况:
·如果 reviver 返回一个有效值,则成员值将替换为转换后的值。
· 如果 reviver 返回它接收的相同值,则不修改成员值。
· 如果 reviver 返回 null 或 undefined,则删除了该成员。
返回值 : 一个对象或数组。
异常 : 如果此函数引发 JavaScript 分析器错误(如“SCRIPT1014:无效字符”),则输入文本将不遵循 JSON 语法。若要更正此错误,请执行下列操作之一:
·修改 text 参数以遵循 JSON 语法。
例如,如果响应的格式为 JSONP 而非纯 JSON,请在响应对象上尝试此代码:
varfixedResponse=response.responseText.replace(/\'/g,"'");
varjsonObj=JSON.parse(fixedResponse);
·确保通过 JSON 兼容的实现(如 text)对 JSON.stringify 参数进行序列化。
· 在 JSON 验证程序中运行 text 参数以帮助找到语法错误。
示例 :以下示例使用 JSON.parse 将 JSON 字符串转换成对象。
varjsontext='{"firstname":"Jesper","surname":"Aaberg","phone":["555-0100","555-0120"]}';varcontact=JSON.parse(jsontext);
document.write(contact.surname+","+contact.firstname);
document.write(contact.phone[1]);
//Output:
//Aaberg,Jesper
//555-0100
以下示例演示了如何使用 JSON.stringify 将数组转换成 JSON 字符串,然后使用 JSON.parse 将该字符串重新转换成数组。 vararr=["a","b","c"];
varstr=JSON.stringify(arr);
document.write(str);
document.write("<br/>");
varnewArr=JSON.parse(str);
while(newArr.length>0){
document.write(newArr.pop()+"<br/>");
}
//Output:
//["a","b","c"]
//c
//b
//a
示例
reviver 函数通常用于将国际标准化组织 (ISO) 日期字符串的 JSON 表示形式转换为协调世界时 (UTC) 格式日期对象。此示例使用 JSON.parse 来反序列化 ISO 格式的日期字符串。dateReviver 函数为格式为 ISO 日期字符串的成员返回 Date 对象。
varjsontext='{"hiredate":"2008-01-01T12:00:00Z","birthdate":"2008-12-25T12:00:00Z"}';vardates=JSON.parse(jsontext,dateReviver);
document.write(dates.birthdate.toUTCString());
functiondateReviver(key,value){
vara;
if(typeofvalue==='string'){
a=/^(d{4})-(d{2})-(d{2})T(d{2}):(d{2}):(d{2}(?:.d*)?)Z$/.exec(value);
if(a){
returnnewDate(Date.UTC(+a[1],+a[2]-1,+a[3],+a[4],
+a[5],+a[6]));
}
}
returnvalue;
};
//Output:
//Thu,25Dec200812:00:00UTC
Tag:
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
相关文章
动画技巧1-平面旋转动画制作方法
原作者:シガタケ(SHIGATAKE) 翻译:pixel32 上面3个图形哪一个制作旋转动画最简单呢?答案是星形。 将动画分解,注意我标出来的红点,每次旋转约90度,红点所在的尖角完成了
01-11[平面其它]
来自世界各地的平面设计:墨西哥设计
1、动物图案 拟人化化的动物图案是墨西哥设计的突出特点。 这些丰富的意义对墨西哥文化来说要追溯到根深蒂固的精神和文化信仰。本地野生和家养的动物,如驴、公鸡和美洲
01-11[平面其它]
平面设计必备“三要素”
图片 图片具有形象化、具体化、直接化的特性,它能够形象地表现设计主题和创意,是平面设计主要的构成要素,对设计理念的陈述和表达起着决定性的作用。因此,设计者在
01-11[平面其它]
【平面设计】我喝的不是茶,而是创意
现在很多年轻人也越来越喜欢喝茶了,而为了迎合年轻人的市场,商家们在茶包的设计上也总是别出心裁,创意满满,时而卖萌,时而文艺小清新,时而又脑洞大开。用这样的茶
01-11[平面其它]
来自世界各地的平面设计:法国设计
法国以时尚著称,它的声誉已经享誉好几个世纪了 无论哪个方面,法国作为欧洲乃至全世界时尚的先驱者,已经占领了上风——如在艺术、奢侈品设计方面都大为流行。但在平面
01-11[平面其它]
The painter lab即将开启
拿起画笔就能重拾美好 点击上方“公众号”蓝字 爱上我~ “ ......如果 没有神奇的画笔 怎么表达自己的 与众不同 这个世界还是很美好的,起码可以画画 很小的时候就喜
01-11[Painter]
科研作图中的CorelDRAW(重发)
声明: 应微信公众平台要求,研之成理不再分享科研软件,只分享软件使用方法。之前已群发的包含软件链接的推文已删除,为了让大家能够更加方便地找到这篇推文,我们将
01-11[CorelDraw]
CorelDRAW结合PS制作炫酷的海报立体字教程
先发一下最终效果: 第一步,用cdr打上扫一扫关注我们,编辑自己想要的效果,可以适当加入一些装饰,比如五角星等,这里就不多说了,如果cdr不熟悉,不会艺术字体编辑的,
01-11[CorelDraw]
非凡学院教学版Fireworks CS6图文安装教程和下载
网页设计培训老师给大家整理了平时学员们练习所用的Fireworks CS6安装教程,本教程和软件仅供学员参考和学习研究之用,严禁用于任何商业用途,需用请购买正版软件。请在安装
01-11[Fireworks]
Photoshop最简单的方法制作彩色的泡泡教程
先看看效果图 下面是教程 建立画布:黑色是为了后面的滤色做准备,原理同火焰一样 滤镜-光晕 滤镜-极坐标 材料准备完毕的效果图 二次建立画布,这一次是真正的开始只做喽
01-11[photoshop]
CSS实现文字,单行居中,多行居左
之前在封装dialog 库的时候。因为显示数据的长度无法确定,无论怎么做,都会出现一些体验不好的情况; 常规实现,要么就是居中,要么居左。在某些文字长度下,
01-11[CSS]
用HTML5 Canvas画一张笑脸
点击上方蓝字↑↑↑,轻松关注哦~ 今天,你将学习一项称为Canvas(画布)的web技术,以及它和文档对象模型(通常被称为DOM)的关联。这项技术非常强大,因为它使web开发人员
01-11[HTML]
第九期 CSS选择器的使用
▼ 通过昨天的学习, 我们对CSS高级语法有了一定的了解, 今天我们来聊聊CSS的选择器吧。 ▼ id 选择器 id 选择器可以为标有特定 id 的 HTML 元素指定特定的样式。 id 选择器以
01-11[CSS]
CSS 技巧 – rgba 函数的妙用
新出现的 CSS颜色配置函数是一项非常有意思的功能,它给予我们在浏览器中直接操纵颜色的能力。例如,当鼠标悬停在按钮上时,可以使用 color: color(black darkness(50%)) 改变颜色
01-11[CSS]
CSS查漏补缺