eval解析json字符串
类别:Web前端 浏览量:1304
时间:2015-3-1 eval解析json字符串
eval解析json字符串一、对于服务器返回的JSON字符串,如果jquery异步请求没做类型说明,或者以字符串方式接受,那么需要做一次对象化处理,方式不是太麻烦,就是将该字符串放于eval()中执行一次,这种方式也适合以普通javascipt方式获取json对象 。
例如
var dataObj=eval("("+data+")");//转换为json对象
二、为什么要 eval 这里要添加 "("+data+")" 呢?
原因在于:eval本身的问题。 由于json是以”{}”的方式来开始以及结束的,在JS中,它会被当成一个语句块来处理,所以必须强制性的将它转换成一种表达式。
加上圆括号的目的是迫使eval函数在处理JavaScript代码的时候强制将括号内的表达式转化为对象,而不是作为语句来执行。
举一个例子,例如对象字面量{},如若不加外层的括号,那么eval会将大括号识别为JavaScript代码块的开始 和结束标记,那么{}将会被认为是执行了一句空语句。
下面两个执行结果是不同的:
alert(eval("{}"); // return undefined
alert(eval("({})");// return object[Object]
三、对于服务器返回的JSON字符串,如果jquery异步请求将type(一般为这个配置属性)设为“json”,或者利 用$.getJSON()方法获得服务器返回,那么就不需要eval()方法了,因为这时候得到的结果已经是json对象了,只需直接调用该对象即可。
标签:json
您可能感兴趣
- python 接口测试怎么校验json数据(python接口自动化十七--Json 数据处理---一次爬坑记详解)
- mysqljson字段查询(Mysql 查询JSON结果的相关函数汇总)
- sqlserver如何生成xml文件(实现SQL Server 原生数据从XML生成JSON数据的实例代码)
- SQLServer中JSON文档型数据的查询问题解决(SQLServer中JSON文档型数据的查询问题解决)
- sqlserver技术文档(sql server2016里面的json功能浅析)
- 纯css和js有什么区别(CSS语法与JSON、JS对象区别比较)
- ASP.NET中XML和JSON互转
- sqlserver字段说明(详解SQL Server 中 JSON_MODIFY 的使用)
- jquery遍历json字符串
- python的decode函数在哪个模块(python中报错"json.decoder.JSONDecodeError: Expecting value:"的解决)
- python json转换字符串(python3 json数据格式的转换dumps/loads的使用、dict to str/str to dict、json字符串/字典)
- console.table调试JSON对象或字符串
- Json序列化对象的部分属性值
- 火狐查看json数据
- 怎么用织梦上传源码(如何把织梦dedecms数据生成json)
- JSON中的特殊字符
- OPPO用户看过来 汇总几个春节实用技巧,轻松搞定多设备联动玩法(汇总几个春节实用技巧)
- 北京旅游攻略(北京旅游攻略5日游及其花费)
- 四川旅游攻略(四川旅游攻略自由行攻略)
- 上海迪士尼攻略(上海迪士尼攻略旅游)
- 哪里可以看熊猫(成都哪里可以看熊猫)
- oppo手机的三种录屏方法,你知道有哪些吗(oppo手机的三种录屏方法)
热门推荐
- 判断图片是否加载完成
- jscanvas画折线图(js+canvas实现代码雨效果)
- mysql 主从配置详解(MySQL 8.0.15配置MGR单主多从的方法)
- vue页面关闭前的执行(Vue 页面监听用户预览时间功能的实现代码)
- 将docker中的镜像打包教程(本地使用docker打包部署镜像的方法)
- js分号的使用
- php的流程控制语句(php基于 swoole 实现的异步处理任务功能示例)
- javascript的执行原理(一文读懂JavaScript 中的延迟加载属性模式)
- dedecms可以长期使用吗(dedecms5.7 文章不能发布问题探讨及解决方法)
- sqlserver创建带参数的存储过程(SQLServer存储过程实现单条件分页)