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 相关文章推荐
从数据结构分析看:用for each...in 比 for...in 要快些
Apr 17 Javascript
动态加载JS文件的三种方法
Nov 08 Javascript
javascript适合移动端的日期时间拾取器
Nov 10 Javascript
js类式继承与原型式继承详解
Apr 07 Javascript
详解Angular的数据显示优化处理
Dec 26 Javascript
js简单实现网页换肤功能
Apr 07 Javascript
Vue声明式渲染详解
May 17 Javascript
jQuery中each循环的跳出和结束实例
Aug 16 jQuery
微信小程序日期时间选择器使用方法
Feb 01 Javascript
vue 实现复制内容到粘贴板clipboard的方法
Mar 17 Javascript
浅析JS中回调函数及用法
Jul 25 Javascript
Vue CL3 配置路径别名详解
May 30 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
Wordpress 相册插件 NextGEN-Gallery 添加目录将中文转为拼音的解决办法
2010/12/29 PHP
让textarea自动调整大小的js代码
2011/04/12 Javascript
jquery交替变换颜色的三种方法 实例代码
2013/11/19 Javascript
javascript结合ajax读取txt文件内容
2014/12/05 Javascript
js面向对象之公有、私有、静态属性和方法详解
2015/04/17 Javascript
js事件驱动机制 浏览器兼容处理方法
2016/07/23 Javascript
Bootstrap使用基础教程详解
2016/09/05 Javascript
jQuery实现鼠标滑过图片移动特效
2016/12/08 Javascript
jQuery图片轮播功能实例代码
2017/01/29 Javascript
js仿微信公众平台打标签功能
2017/04/08 Javascript
angular directive的简单使用总结
2017/05/24 Javascript
JavaScript编写的网页小游戏,很给力
2017/08/18 Javascript
vue2.0组件之间传值、通信的多种方式(干货)
2018/02/10 Javascript
python删除列表中重复记录的方法
2015/04/28 Python
Python简单计算文件夹大小的方法
2015/07/14 Python
Python使用poplib模块和smtplib模块收发电子邮件的教程
2016/07/02 Python
django反向解析URL和URL命名空间的方法
2018/06/05 Python
Python简单实现区域生长方式
2020/01/16 Python
PyCharm常用配置和常用插件(小结)
2021/02/06 Python
CSS Grid布局教程之浏览器开启CSS Grid Layout汇总
2014/12/30 HTML / CSS
销售自我评价
2013/10/22 职场文书
部队党性分析材料
2014/02/16 职场文书
歌唱比赛主持词
2014/03/18 职场文书
共产党员公开承诺书
2014/03/25 职场文书
企业环保标语
2014/06/10 职场文书
法语专业求职信
2014/07/20 职场文书
教师党的群众路线教育实践活动个人对照检查材料
2014/09/23 职场文书
学生个人评语大全
2015/01/04 职场文书
酒店前台辞职书
2015/02/26 职场文书
检讨书格式
2015/05/07 职场文书
2016庆祝教师节新闻稿
2015/11/25 职场文书
创业计划书之网络外卖
2019/10/31 职场文书
如何在Python项目中引入日志
2021/05/31 Python
OpenCV-Python实现油画效果的实例
2021/06/08 Python
tomcat的catalina.out日志按自定义时间格式进行分割的操作方法
2022/04/02 Servers
SQLServer常见数学函数梳理总结
2022/08/05 MySQL