json对象有两个方法

json对象有两个方法

ID:44703041

大小:173.09 KB

页数:8页

时间:2019-10-25

json对象有两个方法_第1页
json对象有两个方法_第2页
json对象有两个方法_第3页
json对象有两个方法_第4页
json对象有两个方法_第5页
资源描述:

《json对象有两个方法》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、对象有两个方法:stringify()和parse()。在最简单的情况下,这两个方法分别用于把JavaScript对象序列化为JSON字符串和把JSON字符串解析为原生JavaScript早期的JSON解析器基本上就是使用JavaScript的eval()函数。由于JSON是JavaScript语法的自己,因此eval()函数可以解析、解释并返回JavaScript的对象和数组。ECMAScript5对解析JSON的行为进行了规范,定义了全局对象JSON。JSON对象有两个方法:stringify()和parse()。在最简单的情况下,

2、这两个方法分别用于把JavaScript对象序列化为JSON字符串和把JSON字符串解析为原生JavaScript。例如:新建一个HTML:代码如下:代码如下:functioninit(){varbook={title:"JavaScript高级程序设计",authors:["NicholasC.Zakas"],edition:3,year:2011};varjsonBook=JSON.stringify(book);var

3、objectBook=JSON.parse(jsonBook);vartitle=objectBook.title;}默认情况下,JSON.stringify()输出的JSON字符串不包含任何空字符或缩进,因此保存在jsonBook中的字符串如下所示:复制代码代码如下:{"title":"JavaScript高级程序设计","authors":["NicholasC.Zak

4、as"],"edition":3,"year":2011}在序列化JavaScript对象时,所有函数及原型成员都会被有意忽略,不体现在结果中。此外,值为undefined的任何属性也都会被跳过。结果中最终都是值为有效JSON数据类型的实例属性。注意,虽然book与objectBook具有相同的属性,但它们是两个独立的、没有任何关系的对象。如果传给JSON.parse()的字符串不是有效的JSON,该方法会抛出错误。JSON.stringify()除了要序列化的js对象外,还可以接收另外两个参数,这两个参数用于指定不同方式序列化js对象

5、。第一个参数是过滤器,可以使一个数组,也可以是一个函数;第二个参数是一个选项,表示是否在JSON字符串中保留缩进。单独或组合使用这两个参数,可以更全面深入地控制JSON的序列化。1、过滤结果如果过滤器参数是数组,那么JSON.stringify()的结果中将只包含数组中列出的属性。如:复制代码代码如下:functioninit(){varstudent={name:"Bill",age:12,grade:3,id:"0802

6、020114"};varjsonText=JSON.stringify(student,["name","id"]);}jsonText的值为{"name":"Bill","id":"802020114"}如果第二个参数是函数,行为会有一点不同。传入的函数接收两个参数,属性(键)名和属性值。根据属性(键)名可以知道应该如何处理要序列化的对象中的属性。属性名只能是字符串。为了

7、改变序列化对象的结果,函数返回的值就是相应键的值。不过要注意,如果函数返回了undefined,那么相应的属性会被忽略。如:复制代码代码如下:functioninit(){varstudent={name:"Bill",age:12,grade:3,id:"0802020114",subject:["math","Chinese","English"]};varjsonText=JSON.stringify(student,

8、jsonConvert);}functionjsonConvert(key,value){switch(key){case"name":return"Lily";case"grade":returnunde

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。