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
您可能感兴趣
- pandasjson格式(对pandas处理json数据的方法详解)
- 什么是jsonp格式
- mysqljson字段查询(Mysql 查询JSON结果的相关函数汇总)
- sqlserver如何生成xml文件(实现SQL Server 原生数据从XML生成JSON数据的实例代码)
- react组件分析(react-diagram 序列化Json解读案例分析)
- jquery遍历json字符串
- php 结果集转json(PHP的JSON封装、转变及输出操作示例)
- python 接口测试怎么校验json数据(python接口自动化十七--Json 数据处理---一次爬坑记详解)
- thinkphp返回json(thinkphp5框架实现数据库读取的数据转换成json格式示例)
- pythonjson格式化原理(详解pythonstr与json类型转换)
- json的语法
- python json转换字符串(python3 json数据格式的转换dumps/loads的使用、dict to str/str to dict、json字符串/字典)
- python3json序列化(Python3.5 Json与pickle实现数据序列化与反序列化操作示例)
- mysql 查询json(MySQL处理JSON常见函数的使用)
- sqlserver技术文档(sql server2016里面的json功能浅析)
- php生成json信息(php使用json-schema模块实现json校验示例)
- 《道德经》:功成不局,泰而不骄(道德经:功成不局)
- 每日一典 过江之鲫(每日一典过江之鲫)
- 红色代表什么(红色代表什么意义和象征)
- 菲律宾安全吗(菲律宾安全吗2023)
- 彩礼重要吗()
- 写信告诉我今天海是什么颜色(写信告诉我今天海是什么颜色回答)
热门推荐
- Asp.Net中索引器的用法
- 网站自动备份工作简报(网站数据自动备份方法)
- php有几种模式(php 策略模式原理与应用深入理解)
- python中列表remove的用法汇总(对python_discover方法遍历所有执行的用例详解)
- mysql架构示意图(MySQL创建横向直方图的解决方案)
- linux压缩文件夹zip命令(Linux gzip命令压缩文件实现原理及代码实例)
- mysql查询慢有哪些原因(MySQL 查询速度慢的原因)
- 少用iframe的原因
- htaccess重定向详解设置(htaccess 将所有请求重定向到某个URL地址的规则)
- 如何设置nginx使用ip访问(nginx基于域名,端口,不同IP的虚拟主机设置的实现)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9