js解析与序列化json数据(一)json.stringify()的基本用法


Posted in Javascript onFebruary 01, 2013

早期的JSON解析器基本上就是使用JavaScript的eval()函数。由于JSON是JavaScript语法的自己,因此eval()函数可以解析、解释并返回JavaScript的对象和数组。
ECMAScript 5对解析JSON的行为进行了规范,定义了全局对象JSON。

JSON对象有两个方法:stringify()和parse()。在最简单的情况下,这两个方法分别用于把JavaScript对象序列化为JSON字符串和把JSON字符串解析为原生JavaScript。例如:
新建一个HTML:代码如下:

<html> 
<head> 
<title></title> 
<script type="text/javascript"> 
function init() 
{ 
var book={ 
title:"JavaScript高级程序设计", 
authors:[ 
"Nicholas C. Zakas" 
], 
edition:3, 
year:2011 
}; 
var jsonBook=JSON.stringify(book); 
var objectBook=JSON.parse(jsonBook); 
var title=objectBook.title;} </script> </head> <body> <input type="button" onclick="init()" value="测试" /> </body> </html>

默认情况下,JSON.stringify()输出的JSON字符串不包含任何空字符或缩进,因此保存在jsonBook中的字符串如下所示:
{"title":"JavaScript高级程序设计","authors":["Nicholas C. Zakas"],"edition":3,"year":2011}

在序列化JavaScript对象时,所有函数及原型成员都会被有意忽略,不体现在结果中。此外,值为undefined的任何属性也都会被跳过。结果中最终都是值为有效JSON数据类型的实例属性。

注意,虽然book与objectBook具有相同的属性,但它们是两个独立的、没有任何关系的对象。如果传给JSON.parse()的字符串不是有效的JSON,该方法会抛出错误。

Javascript 相关文章推荐
js技巧--转义符&quot;\&quot;的妙用
Jan 09 Javascript
ie和firefox不兼容的解决方法集合
Apr 28 Javascript
node.js使用nodemailer发送邮件实例
Mar 10 Javascript
关于img的href和src取变量及赋值的方法
Apr 28 Javascript
jQuery实现拖动调整表格单元格大小的代码实例
Jan 13 Javascript
Node.js编程中客户端Session的使用详解
Jun 23 Javascript
jQuery中常用的遍历函数用法实例总结
Sep 01 Javascript
javascript巧用eval函数组装表单输入项为json对象的方法
Nov 25 Javascript
深入浅析JavaScript函数前面的加号和叹号
Jul 09 Javascript
BootStrap 超链接变按钮的实现方法
Sep 25 Javascript
JS/HTML5游戏常用算法之追踪算法实例详解
Dec 12 Javascript
js实现全选和全不选
Jul 28 Javascript
百度地图api应用标注地理位置信息(js版)
Feb 01 #Javascript
jquery select动态加载选择(兼容各种浏览器)
Feb 01 #Javascript
表单元素的submit()方法和onsubmit事件应用概述
Feb 01 #Javascript
js用Date对象处理时间实现思路及代码
Jan 31 #Javascript
document.all的一个比较完整的总结及案例
Jan 31 #Javascript
javascript对select标签的控制(option选项/select)
Jan 31 #Javascript
S2SH整合JQuery+Ajax实现登录验证功能实现代码
Jan 30 #Javascript
You might like
正则表达式语法
2006/10/09 Javascript
fleaphp rolesNameField bug解决方法
2011/04/23 PHP
摘自织梦CMS的HTTP文件下载类
2015/08/08 PHP
PHP实现负载均衡session共享redis缓存操作示例
2018/08/22 PHP
用js+xml自动生成表格的东西
2006/12/21 Javascript
iframe自适应宽度、高度 ie6 7 8,firefox 3.86下测试通过
2010/07/29 Javascript
避免回车键导致的页面无意义刷新的解决方法
2011/04/12 Javascript
纯JAVASCRIPT图表动画插件Highcharts Examples
2011/04/16 Javascript
Jquery中显示隐藏的实现代码分析
2011/07/26 Javascript
获得所有表单值的JQuery实现代码[IE暂不支持]
2012/05/24 Javascript
jquery.validate使用详解
2016/06/02 Javascript
深入浅出讲解ES6的解构
2016/08/03 Javascript
javascript中的深复制详解及实例分析
2016/12/29 Javascript
node.js学习之事件模块Events的使用示例
2017/09/28 Javascript
浅析为什么a=&quot;abc&quot; 不等于 a=new String(&quot;abc&quot;)
2017/10/25 Javascript
axios封装,使用拦截器统一处理接口,超详细的教程(推荐)
2019/05/02 Javascript
Angular 中使用 FineReport不显示报表直接打印预览
2019/08/21 Javascript
jQuery实现简易聊天框
2020/02/08 jQuery
vue实现图片按比例缩放问题操作
2020/08/11 Javascript
[53:15]Newbee vs Pain 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
[01:14]2019完美世界城市挑战赛(秋季赛)全国总决赛精彩花絮
2020/01/08 DOTA
python显示天气预报
2014/03/02 Python
python从入门到精通(DAY 2)
2015/12/20 Python
Python AES加密实例解析
2018/01/18 Python
Python 保存矩阵为Excel的实现方法
2019/01/28 Python
django rest framework 实现用户登录认证详解
2019/07/29 Python
阿根廷网上配眼镜:SmartBuyGlasses阿根廷
2016/08/19 全球购物
Under Armour安德玛英国官网:美国高端运动科技品牌
2018/09/17 全球购物
美国最大的购物网站:Amazon.com(亚马逊美国)
2020/05/23 全球购物
自动化职业生涯规划书范文
2014/01/03 职场文书
学生出入校管理制度
2014/01/16 职场文书
教师职称自我鉴定
2014/02/12 职场文书
2014政务公开实施方案
2014/02/19 职场文书
2015年个人剖析材料范文
2014/12/29 职场文书
化妆品促销活动总结
2015/05/07 职场文书
mysqldump进行数据备份详解
2022/07/15 MySQL