原文:eval、json.parse()的介绍和使用注意点

eval和json.parse的使用
eval:来源于官网
定义和用法
eval() 函数可计算某个字符串,并执行其中的的 JavaScript 代码。
语法:  eval(string)
参数描述
string必需。要计算的字符串,其中含有要计算的 JavaScript 表达式或要执行的语句。
返回值
通过计算 string 得到的值(如果有的话)。
说明
该方法只接受原始字符串作为参数,如果 string 参数不是原始字符串,那么该方法将不作任何改变地返回。因此请不要为 eval() 函数传递 String 对象来作为参数。
如果试图覆盖 eval 属性或把 eval() 方法赋予另一个属性,并通过该属性调用它,则 ECMAScript 实现允许抛出一个 EvalError 异常。
eg:
<script type="text/javascript">
eval("x=10;y=20;document.write(x*y)")
document.write(eval("2+2"))
var x=10
document.write(eval(x+17))
</script>
输出:
200
4
27
处理json数据
1、eval
根据不同的json格式,一般有两种方式
json为json数据
转化json数据,使用方法统一
var dataObj = eval("("+json+")");
加上圆括号的目的是迫使eval函数在处理JavaScript代码的时候强制将括号内的表达式(expression)转化为对象,而不是作为语句(statement)来执行
将json数据转换为json对象
(1)含有“节点”的json数据
var json = {
root:
[
{name:'1',value:'0'},
{name:'2',value:'1'},
{name:'3',value:'2'},
]
}";
如果获取对应的name和value的值,可以使用
$(dataObj.root).each(function(i,item){
var str = "name:"+item.name+",value:"+item.value;
})
(2)不含有“节点”的json数据
var json = {"name":"1","name":"2","name":"3"}
使用$(dataObj).each(function(i,item){
var str = "name:"+item.name+",value:"+item.value;
})获取对应的数据
注意:eval使用比较危险,能不用最好就不要用,以免徒增不必要的麻烦
2、JSON.parse(String,function())
Strign:必选参数,为json数据
function():可选参数,如果不为空,则为对象的每个成员调用词函数
返回结果为对象或者数组,此方法与eval能达到相同的效果,简单易于使用,但此方法不支持IE6、IE7标准模式,但是可以自己下载json2.js来解决这一问题
网址:http://www.JSON.org/json2.js
使用方法:
var dataObj = JSON.parse(json);
for(var data in dataObj){
//获取对应数据的值
}

eval、json.parse()的介绍和使用注意点相关推荐

  1. JSONObject JSONArray各种用法以及js eval()函数与JSON.parse的区

    2019独角兽企业重金招聘Python工程师标准>>> 一.在后台使用JSONObject对象,并将从数据库中取出来的数据直接使用 JSONObject的put方法放进去,再将这个J ...

  2. JSON.parse()和eval()的区别

    json格式非常受欢迎,而解析json的方式通常用JSON.parse()但是eval()方法也可以解析,这两者之间有什么区别呢? JSON.parse()之可以解析json格式的数据,并且会对要解析 ...

  3. JSON.parse与eval的区别

    JSON.parse与eval和能将一个字符串解析成一个JSON对象,但还是有挺大区别. 测试代码 var A = "{ a: 1 , b : 'hello' }"; var B ...

  4. php json.parse,JSON.parse()与JSON.stringify()和eval()使用方法详解

    这次给大家带来JSON.parse()与JSON.stringify()和eval()使用方法详解,JSON.parse()与JSON.stringify()和eval()使用的注意事项有哪些,下面就 ...

  5. JSON.parse()、eval()和JSON.stringify()

    1.什么是JSON? JSON全称是JavaScript Object Notation,是一种轻量级的数据交换格式.JSON 与XML具有相同的特性,是一种数据存储格式,但是JSON相比XML 更易 ...

  6. JSON.parse()、eval()、JSON.stringify()、jQuery.parseJSON()的用法

    一: JSON数据的两种解析方法 JSON.parse() .eval ()方法 1 :JSON.parse() : 用于将一个 JSON 字符串转换为 JavaScript 对象. var str ...

  7. JSON.parse()、JSON.stringify()和eval()的作用

    浅谈JSON.parse().JSON.stringify()和eval()的作用 相信大家对于JSON应该不陌生,度娘对这个名词的解释大致如下: "JSON(JavaScript Obje ...

  8. javascript JSON.parse和eval的区别

    SON.parse()用来将标准json字符串转换成js对象:eval()除了可以将json字符串(非标准的也可以,没有JSON.parse()要求严格)转换成js对象外还能用来动态执行js代码.例如 ...

  9. 解析JSON字串的方法有eval,json_parse,JSON.parse

    解析JSON字串的方法有 (1)var vjson = eval(jsonstr); 缺点:不安全,有可能jsonstr中有恶意脚本,那就麻烦了. (2)var vjson = json_parse( ...

最新文章

  1. POJ - 2516 Minimum Cost 最小费用最大流
  2. eventsource 服务器发送事件
  3. linux6用户t密码,linux系统 用户和组管理类命令的使用方法
  4. 一篇非常有用的文章-《台湾清华彭明辉教授的研究生手册》
  5. RecSys 2017总结
  6. 【BZOJ-1458】士兵占领 最大流
  7. 从蛋白质结构到功能的生物信息学研究 From Protein Structure to Function with Bioinformatics PDF
  8. 开始体验Kali Linux
  9. 怎么解决 数据丢失的问题_ThreadLocal中内存泄漏和数据丢失问题的问题浅析及解决方案...
  10. 使用qrcode类制作二维码
  11. 大数据 vr csdn_VR中的数据可视化如何革命化科学
  12. SYBASE的管理(三)
  13. Voltage Keepsake CodeForces - 801C(二分)
  14. ARTIF:实时威胁智能识别框架
  15. 如何根据光学中像差(相位)求出其点扩散函数
  16. 在GEE平台提取Sentinel-1 SAR GRD的VV+VH波段
  17. medusa--暴力破解
  18. HeadFirst设计模式之代理模式
  19. NetFPGA-SUME上电测试
  20. linux 版本号 笔记本_2019 年最佳 Linux 笔记本电脑发行版 top10

热门文章

  1. C++跨平台开发方法/工具
  2. Django Cookie于Session
  3. Cesium原理篇:6 Render模块(6: Instance实例化)
  4. UFLDL 教程学习笔记(三)自编码与稀疏性
  5. jquery 选中单选按钮的值
  6. WEB UI篇——以结构化的方式写CSS
  7. [导入]javascript身份证号码验证函数支持带x
  8. Linux学习笔记-文件压缩与解压缩
  9. git 本地重新关联新的远程仓库命令/查看本地关联远程仓库
  10. JavaScript中的回调地狱及解决方法