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 相关文章推荐
jQuery '行 4954 错误: 不支持该属性或方法' 的问题解决方法
Jan 19 Javascript
js字符串的各种格式的转换 ToString,Format
Aug 08 Javascript
JS获取当前日期和时间的简单实例
Nov 19 Javascript
jquery实现在页面加载的时自动为日期插件添加当前日期
Aug 20 Javascript
JavaScript自定义数组排序方法
Feb 12 Javascript
基于Node.js的强大爬虫 能直接发布抓取的文章哦
Jan 10 Javascript
Javascript使用SWFUpload进行多文件上传
Nov 16 Javascript
JS实现验证码倒计时的注册页面
Jan 02 Javascript
JavaScript多态与封装实例分析
Jul 27 Javascript
JavaScript捕捉事件和阻止冒泡事件实例分析
Aug 03 Javascript
vue  自定义组件实现通讯录功能
Sep 30 Javascript
js嵌套的数组扁平化:将多维数组变成一维数组以及push()与concat()区别的讲解
Jan 19 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
PHP管理依赖(dependency)关系工具 Composer的自动加载(autoload)
2014/08/18 PHP
PHP易混淆函数的区别及用法汇总
2014/11/22 PHP
php+mysqli使用预处理技术进行数据库查询的方法
2015/01/28 PHP
php实现文件与16进制相互转换的方法示例
2017/02/16 PHP
PHP判断是否是微信打开还是浏览器打开的方法
2019/02/27 PHP
jQuery 入门级学习笔记及源码
2010/01/22 Javascript
JQuery Ajax通过Handler访问外部XML数据的代码
2010/06/01 Javascript
JavaScript验证图片类型(扩展名)的函数分享
2014/05/05 Javascript
javascript实现验证身份证号的有效性并提示
2015/04/30 Javascript
jQuery网页版打砖块小游戏源码分享
2015/08/20 Javascript
jQuery仿360导航页图标拖动排序效果代码分享
2015/08/24 Javascript
JavaScript实现仿新浪微博大厅和腾讯微博首页滚动特效源码
2015/09/15 Javascript
Vue组件BootPage实现简单的分页功能
2016/09/12 Javascript
浅谈jquery中next与siblings的区别
2016/10/27 Javascript
Vue中之nextTick函数源码分析详解
2017/10/17 Javascript
Vue项目中跨域问题解决方案
2018/06/05 Javascript
layer.alert自定义关闭回调事件的方法
2019/09/27 Javascript
[00:47]DOTA2荣耀之路6:天火,天火!
2018/05/30 DOTA
[01:04:14]OG vs Winstrike 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
python按照多个字符对字符串进行分割的方法
2015/03/17 Python
Python 运行.py文件和交互式运行代码的区别详解
2019/07/02 Python
python GUI库图形界面开发之PyQt5信号与槽的高级使用技巧(自定义信号与槽)详解与实例
2020/03/06 Python
Python如何转换字符串大小写
2020/06/04 Python
利用简洁的图片预加载组件提升html5移动页面的用户体验
2016/03/11 HTML / CSS
SEPHORA新西兰官方网站:购买化妆品和护肤品
2016/12/02 全球购物
美国知名保健品网站:LuckyVitamin(支持中文)
2017/08/09 全球购物
BIFFI美国站:意大利BIFFI BOUTIQUES豪华多品牌时装零售公司
2020/02/11 全球购物
英语自荐信范文
2013/12/11 职场文书
中专生的个人自我评价
2013/12/11 职场文书
门诊手术室工作制度
2014/01/30 职场文书
市场营销战略计划书
2014/05/06 职场文书
关于感恩的演讲稿400字
2014/08/26 职场文书
2014个人四风对照检查材料思想汇报
2014/09/18 职场文书
2014年班主任德育工作总结
2014/12/05 职场文书
党支部承诺书
2015/01/20 职场文书
基于flask实现五子棋小游戏
2021/05/25 Python