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 相关文章推荐
javascript addBookmark 加入收藏 多浏览器兼容
Aug 15 Javascript
js优化针对IE6.0起作用(详细整理)
Dec 25 Javascript
Extjs4.0设置Ext.data.Store传参的请求方式(默认为GET)
Apr 02 Javascript
Javascript学习笔记之 对象篇(三) : hasOwnProperty
Jun 24 Javascript
在jQuery中处理XML数据的大致方法
Aug 14 Javascript
jQuery筛选数组之grep、each、inArray、map的用法及遍历json对象
Jun 20 Javascript
Angular4绑定html内容出现警告的处理方法
Nov 03 Javascript
React组件refs的使用详解
Feb 09 Javascript
React key值的作用和使用详解
Aug 23 Javascript
angularJs中orderBy筛选以及filter过滤数据的方法
Sep 30 Javascript
JavaScrip数组去重操作实例小结
Jun 20 Javascript
jquery实现拖拽添加元素功能
Dec 01 jQuery
百度地图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
关于Appserv无法打开localhost问题的解决方法
2009/10/16 PHP
php 操作excel文件的方法小结
2009/12/31 PHP
PHP常用文件操作函数和简单实例分析
2016/06/03 PHP
thinkPHP5框架中widget的功能与用法详解
2018/06/11 PHP
php写入mysql中文乱码的实例解决方法
2019/09/17 PHP
PHP使用Http Post请求发送Json对象数据代码解析
2020/07/16 PHP
js中substring和substr的定义和用法
2014/05/05 Javascript
JSON格式化输出
2014/11/10 Javascript
JavaScript里四舍五入函数round用法实例
2015/04/06 Javascript
JavaScript实现图片DIV竖向滑动的方法
2015/04/25 Javascript
JavaScript框架是什么?怎样才能叫做框架?
2015/07/01 Javascript
js 截取或者替换字符串中的数字实现方法
2016/06/13 Javascript
基于js中this和event 的区别(详解)
2017/10/24 Javascript
js 两数组去除重复数值的实例
2017/12/06 Javascript
Vue中插入HTML代码的方法
2018/09/21 Javascript
JavaScript设计模式之享元模式实例详解
2019/01/17 Javascript
详解在Javascript中进行面向切面编程
2019/04/28 Javascript
使用vue完成微信公众号网页小记(推荐)
2019/04/28 Javascript
VUE中setTimeout和setInterval自动销毁案例
2020/09/07 Javascript
小白如何入门Python? 制作一个网站为例
2018/03/06 Python
Python实现获取邮箱内容并解析的方法示例
2018/06/16 Python
Python facenet进行人脸识别测试过程解析
2019/08/16 Python
使用python实现kNN分类算法
2019/10/16 Python
pytorch::Dataloader中的迭代器和生成器应用详解
2020/01/03 Python
python基于event实现线程间通信控制
2020/01/13 Python
python连接mongodb集群方法详解
2020/02/13 Python
Centos7下源码安装Python3 及shell 脚本自动安装Python3的教程
2020/03/07 Python
webView加载html图片遇到的问题解决
2019/10/08 HTML / CSS
日本高岛屋百货购物网站:TAKASHIMAYA
2019/03/24 全球购物
意大利时尚奢侈品店:D’Aniello Boutique
2021/01/19 全球购物
行政助理岗位职责范文
2013/12/03 职场文书
公务员政审单位鉴定材料
2014/05/16 职场文书
庆国庆活动总结
2014/08/28 职场文书
2014年小学教师工作自我评价
2014/09/22 职场文书
医生个人自我剖析材料
2014/10/08 职场文书
2015年大学组织委员个人工作总结
2015/10/23 职场文书