美文网首页前端基础类学习
为什么JS中eval处理JSON数据要加括号

为什么JS中eval处理JSON数据要加括号

作者: 饥人谷_米弥轮 | 来源:发表于2018-04-23 09:53 被阅读139次
这篇文章主要介绍了为什么JS中eval处理JSON数据要加括号的相关资料,需要的朋友可以参考下
  • 由于Ajax的兴起,JSON这种轻量级的数据格式作为客户端与服务器之间的传输格式逐渐地流行起来,进而出现的问题是如何将服务器端构建好的JSON数据转化为可用的JavaScript对象。利用eval函数无疑是一种简单而直接的方法。在转化的时候需要将JSON字符串的外面包装一层圆括号:

     var jsonObject = eval("(" + jsonFormat + ")");
    
为什么要加括号?
  • 加上圆括号的目的是迫使eval函数在处理JavaScript代码的时候强制将括号内的表达式(expression)转化为对象,而不是作为语句(statement)来执行。举一个例子,例如对象字面量{},如若不加外层的括号,那么eval会将大括号识别为JavaScript代码块的开始和结束标记,那么{}将会被认为是执行了一句空语句。所以下面两个执行结果是不同的:

     alert(eval("{}");  // return undefined
     alert(eval("({})");// return object[Object]

相关文章

  • 为什么JS中eval处理JSON数据要加括号

    这篇文章主要介绍了为什么JS中eval处理JSON数据要加括号的相关资料,需要的朋友可以参考下 由于Ajax的兴起...

  • 16.JavaScript之json

    string变json 1.用eval函数eval()自己产生一个string,当作js脚本,交由js引擎处理2....

  • JS-ajax

    json解析## eval不检查数据是否合法json.pasrse检查数据是否合法在线json格式化校验工具:js...

  • eval 解析json为什么要加()

    下面这篇csdn上的原创文章,写的非常清楚了,要代码有代码,要解释有解释. JS使用eval解析json注意点

  • eval() 函数

    语法: 作用:会把eval函数中的参数当成js代码来执行。 一般在js中解析响应的json数据的时候都是使用JSO...

  • js中如何向json数组添加元素

    为什么要 eval这里要添加('('+jsonst+')') ”呢? 原因在于:eval本身的问题。 由于json...

  • json

    JavaScript的延伸,可通过eval()处理JSON字符串;数据传输快,网络占用小; 语法 对象 JSON对...

  • 前端和后端处理不同的拼接的json数据

    后端返回的json数据 前端第一种:eval方式 var json = eval('(' + data + ')'...

  • 高级语言正则括号的坑

    加括号和没加括号的区别,谨记,在高级语言里,括号代表捕获,要取消捕获需要使用(?:)而在js语言当中括号没有捕获的...

  • python在处理df中某列为str类型类似于json的,处理成

    要处理的就是类似于 如下的数据框中的content列中的json串: 对单个元素来说,可以直接这样生成数据框:js...

网友评论

    本文标题:为什么JS中eval处理JSON数据要加括号

    本文链接:https://www.haomeiwen.com/subject/aejklftx.html