位置: 编程技术 - 正文

深入浅析JSON.parse()、JSON.stringify()和eval()的作用详解(json的parseobject)

编辑:rootadmin

推荐整理分享深入浅析JSON.parse()、JSON.stringify()和eval()的作用详解(json的parseobject),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:json.parsejson,json.parse()用法,json parser,json.parseint,json. parse(),json.parsejson,json.parseint,json.parseint,内容如对您有帮助,希望把文章链接给更多的朋友!

“JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它基于ECMAScript的一个子集。因为采用独立于语言的文本格式,也使用了类似于C语言家族的习惯,拥有了这些特性使JSON成为理想的数据交换语言,作用是易于人阅读和编写,同时也易于机器解析和生成(一般用于提升网络传输速率)。”  

  今天在这里笔者想简单谈谈jquery里面的JSON.parse()和JSON.stringify()函数,顺便还会提一下原生JS里面的eval()函数

(1)JSON.parse 函数

作用:将 JavaScript 对象表示法 (JSON) 字符串转换为对象。  

语法:JSON.parse(text [, reviver])

参数:

text  必需。 一个有效的 JSON 字符串。

reviver  可选。 一个转换结果的函数。 将为对象的每个成员调用此函数。返回值:一个对象或数组

example:

(2)JSON.stringify()函数

作用:将 JavaScript 值转换为 JavaScript 对象表示法 (JSON) 字符串

语法:JSON.stringify( value [, replacer] [, space])

参数:

value  必需,通常为需要转换的JavaScript值(通常为对象或者数组)

replacer  可选,用于转换结果的函数或者数组

深入浅析JSON.parse()、JSON.stringify()和eval()的作用详解(json的parseobject)

space  可选。向返回值 JSON 文本添加缩进、空格和换行符以使其更易于读取。

返回值:一个包含JSON文本的字符串

example:

(3)eval()函数

作用:eval() 函数可计算某个字符串,并执行其中的的 JavaScript 代码。

语法:eval(string)

参数:

string  必需,要计算的字符串,其中含有要计算的 JavaScript 表达式或要执行的语句。

返回值:返回计算string的值,如果有的话 (没有则不做任何改变返回)

example:

  使用eval()函数也可以将JSON字符串解析为对象,这个功能能完成JSON.parse()的功能,但是有不一样的地方,请看下面代码

  不知道大家有木有注意到eval()还要用一对圆括号将字符串包起来,对此我寻找到比较好的解释就是:

原因:归结于eval本身的问题,由于json是以”{}”的方式来开始以及结束的,在JS中,它会被当成一个语句块来处理,所以必须强制性的将它转换成一种表达式。

解决方法:加上圆括号的目的是迫使eval函数在处理JavaScript代码的时候强制将括号内的表达式(expression)转化为对象,而不是作为语句(statement)来执行。举一个例子,例如对象字面量{},如若不加外层的括号,那么eval会将大括号识别为JavaScript代码块的开始和结束标记,那么{}将会被认为是执行了一句空语句。请看下列例子的不同

  另外,相对于写法格式严格的JSON.parse()来说,eval()可以解析任何字符串,eval是不安全的,因为eval比较宽松,会有潜在的安全性问题。比如以下代码:

  如果用恶意用户在json字符串中注入了向页面插入木马链接的脚本,用eval也是可以操作的,而用JSON.parse()则不必担心这个问题,可见,虽然eval()功能很强大,但是实际用到的机会并不多。

  个人总结的时候到了,这是我人生第一篇的博客,在4月1号Fool's Day诞生,写得不好的地方还希望各位多多见谅,现在技术非常渣,我很希望现在能够一点一滴去积累知识,为日后的成功奠定好基础,fighting~

再次谈论React.js实现原生js拖拽效果引起的一系列问题 React起源于Facebook的内部项目,因为该公司对市场上所有JavaScriptMVC框架,都不满意,就决定自己写一套,用来架设Instagram的网站。做出来以后,发现这套

纯js+html和纯css+html制作手风琴效果 本文分享了纯js+html制作手风琴和纯css+html制作手风琴两种效果,供大家参考,具体内容如下一、纯css+html的手风琴效果这种用css写的手风琴比较简单,主

基于javascript制作微博发布栏效果 本文为大家分享了做微博发布栏效果的过程,涉及到的知识点包括以下:1.判断IE的方法:直接用varie=!-[1,];即可2.连续发生事件的用法:IE下:触发对象.o

标签: json的parseobject

本文链接地址:https://www.jiuchutong.com/biancheng/373377.html 转载请保留说明!

上一篇:基于JavaScript实现 网页切出 网站title变化代码(javascript运用)

下一篇:再次谈论React.js实现原生js拖拽效果引起的一系列问题(react all in js)

  • 在校大学生可以考教师资格证吗
  • 电子税务局怎么添加财务负责人
  • 对外投资固定资产的账务处理
  • 小规模建筑服务需要预缴增值税吗
  • 股东是否实缴出资款
  • 财务记账之后是否必须审核
  • 房地产企业可以开专票吗
  • 商业用房怎么缴税
  • 小规模纳税人季报还是月报?
  • 政府奖励金怎么用
  • 资产的名义已使用年限与实际已使用年限的区别与联系
  • 自己生产的产品用于职工福利
  • 企业向员工集资利息标准
  • 如何界定企业所得税的不征税收入与应税收入
  • 减少注册资本金程序
  • 环保税是甲方交的吗
  • 1697510003
  • 白银及其制品出自哪里
  • 交易性金融资产的交易费用计入哪里
  • 如何删除文档中多余的页
  • 出租车发票没有发票专用章是否能报销
  • PHP函数func_num_args用法实例分析
  • 产生转让损失
  • 蜜蜂 (© Angela Parker/Offset)
  • 存货的盘亏损毁和报废
  • 非货币性资产交换和债务重组的区别
  • pytorch_lightning.utilities.exceptions.MisconfigurationException: You requested GPUs: [1] But...
  • php读取xml文件
  • 独立核算的分公司的账务处理
  • 公司财务认证负责人实名认证需要承担责任吗
  • 遥感图像超分辨率 坑
  • 深度学习中正样本、负样本、简单样本、困难样本的区别 (简单易懂)
  • vmware虚拟机安装在移动硬盘
  • pytorch .pt
  • 退社保基金怎么办理
  • mongodb数据表设计怎么写
  • 无偿提供房屋使用证明有什么后果
  • 小企业长期债券投资
  • 土地使用权转为在建工程
  • 计提所得税后再结转本年利润吗
  • 购买加油卡需要什么证件
  • 以前年度损益调整会计分录
  • 企业所得税季初和季末怎么算
  • 外商投资的企业有哪些
  • 中级财务会计计算题
  • 损益类科目有哪些借贷方向
  • 运费增值税发票抵扣
  • 业务招待费税前扣除标准2020
  • 个人如何缴纳公积金和社保费用
  • 公司股东可以买公司股票吗
  • 企业间借款利息最新规定
  • 公司租的房子电费发票怎么开
  • 损益类科目增加记哪方
  • 保险公司会计的特点
  • 商业企业可将商品分为哪三类
  • Mysql使用教程
  • mysql查询id最大的记录
  • sqlserver2000怎么用
  • Win8系统筛选器Smartscreen阻止恶意程序运行
  • Win10系统开机出现问题pin码不可用
  • 360win7
  • 你不知道的关于现代主义的故事
  • 系统解决问题的方法
  • P2P Networking2.exe - P2P Networking2是什么进程 有什么用
  • 你需要windows7sp1才能安装ie11
  • windows8 应用商店
  • win10预览版21301bug
  • http://www.2cto.com/kf/201402/280576.html
  • Unity3D ugui事件监听机制
  • bootstrap-treeview.js
  • 一个简单的群规内容
  • bash脚本加密
  • python从入门到精通第三版pdf下载
  • 深入理解新发展理念
  • jquerycdn
  • python 备份文件夹
  • 怎样在江苏智慧人社上停保
  • 出口退税报关单在哪里打印
  • 重庆国税税务局官网
  • 自然人电子税务局
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设