原文: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. 百面机器学习之特征工程
  2. 函数用计算机代码,用main函数传参做简单的计算器的代码
  3. 开源社区ITGeek介绍
  4. 贝叶斯优化python包_Bayesian2D-用贝叶斯优化方法求任意二维函数的最大值或最小值的软件包-Juhan Raidal...
  5. LogMeIn远程控制
  6. 陈天奇的tvm更新了:VTA,开源AI芯片栈
  7. ShotCut——视频处理剪辑神器
  8. AI的委屈只有它知道……
  9. 电工学(上)-电工技术 秦曾煌(7版)
  10. Cas单点登录常见问题总结
  11. 阿里实习转正面试收获总结
  12. phpstudy的基本使用方法
  13. 常用计算机病毒防治办法,计算机病毒防治方法
  14. 九大百度竞价操作技巧
  15. 伊诺伊香槟分校计算机世界排名,2020年伊利诺伊大学香槟分校QS世界排名
  16. CWE-123: Write-what-where Condition(任意写入)
  17. 数据分析报告2:Superstore销售情况分析
  18. Windows 11正式发布,新功能太绝了!
  19. JavaScript的内存管理
  20. Maven依赖版本号不生效

热门文章

  1. 架构之美第二章-美丽架构的含义
  2. Centos7 WARNING: ‘aclocal-1.15‘ is missing on your system.
  3. jquery css 定义背景不重复
  4. POJ 1185 炮兵阵地(状压DP)题解
  5. mysql模糊匹配like 之 %
  6. [唐诗]189长相思-李白
  7. ScriptManager.RegisterAsyncPostBackControl 方法
  8. 相对熵(relative entropy或 Kullback-Leibler divergence,KL距离)的java实现(三)
  9. .NET代码混淆学习和解决视频批量转换中.wmv转换出错问题
  10. 衡量发动机性能的重要指标—升功率