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 相关文章推荐
关于删除时的提示处理(确定删除吗)
Nov 03 Javascript
用box固定长宽实现图片自动轮播js代码
Jun 09 Javascript
jQuery添加和删除输入文本框标签代码
May 20 Javascript
Vue中的数据监听和数据交互案例解析
Jul 12 Javascript
基于jquery实现多级菜单效果
Jul 25 jQuery
关于Vue实现组件信息的缓存问题
Aug 23 Javascript
JS实现根据指定值删除数组中的元素操作示例
Aug 02 Javascript
vue 实现小程序或商品秒杀倒计时
Apr 14 Javascript
详解微信小程序支付流程与梳理
Jul 16 Javascript
vue通过数据过滤实现表格合并
Nov 30 Javascript
JS实现小星星特效
Dec 24 Javascript
Javascript幻灯片播放功能实现过程解析
May 07 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 MySql增删改查的简单实例
2016/06/21 PHP
通过JS 获取Mouse Position(鼠标坐标)的代码
2009/09/21 Javascript
JavaScript自定义方法实现trim()、Ltrim()、Rtrim()的功能
2013/11/03 Javascript
解决checkbox的attr(checked)一直为undefined问题
2014/06/16 Javascript
JS显示表格内指定行html代码的方法
2015/03/31 Javascript
JQuery分屏指示器图片轮换效果实例
2015/05/21 Javascript
jquery单击事件和双击事件冲突解决方案
2016/03/02 Javascript
Node.js模块封装及使用方法
2016/03/06 Javascript
关于JS中二维数组的声明方法
2016/09/24 Javascript
bootstrap读书笔记之CSS组件(上)
2016/10/17 Javascript
完美解决jQuery 鼠标快速滑过后,会执行多次滑出的问题
2016/12/08 Javascript
js实现定时进度条完成后切换图片
2017/01/04 Javascript
jQuery实现拼图小游戏(实例讲解)
2017/07/24 jQuery
jQuery实现的两种简单弹窗效果示例
2018/04/18 jQuery
jQuery属性选择器用法实例分析
2019/06/28 jQuery
Threejs实现滴滴官网首页地球动画功能
2020/07/13 Javascript
在vue中使用console.log无效的解决
2020/08/09 Javascript
详解Howler.js Web音频播放终极解决方案
2020/08/23 Javascript
Vue axios 跨域请求无法带上cookie的解决
2020/09/08 Javascript
Python while、for、生成器、列表推导等语句的执行效率测试
2015/06/03 Python
理解Python中的绝对路径和相对路径
2017/08/30 Python
儿童学习python的一些小技巧
2018/05/27 Python
python中字典按键或键值排序的实现代码
2019/08/27 Python
flask的orm框架SQLAlchemy查询实现解析
2019/12/12 Python
使用matlab 判断两个矩阵是否相等的实例
2020/05/11 Python
关于Kotlin中SAM转换的那些事
2020/09/15 Python
python 解决Windows平台上路径有空格的问题
2020/11/10 Python
利用简洁的图片预加载组件提升html5移动页面的用户体验
2016/03/11 HTML / CSS
AOP的定义以及作用
2013/09/08 面试题
如何利用XMLHTTP检测URL及探测服务器信息
2013/11/10 面试题
年会活动策划方案
2014/01/23 职场文书
班主任新年寄语
2014/04/04 职场文书
预备党员2014年第四季度思想汇报范文
2014/10/25 职场文书
个人学习总结范文
2015/02/15 职场文书
2015年中个人总结范文
2015/03/10 职场文书
总经理助理岗位职责范本
2015/03/31 职场文书