对于服务器返回的JSON字符串,如果 jQuery 异步请求没做类型说明,或者以字符串方式接受,那么需要做一次对象化处理
来源:互联网 发布:杜特软件下载 编辑:程序博客网 时间:2024/05/18 00:14
对于服务器返回的JSON字符串,如果 jQuery 异步请求没做类型说明,或者以字符串方式接受,那么需要做一次对象化处理,方式不是太麻烦,就是将该字符串放于 eval()中执行一次。这种方式也适合以普通 javascipt 方式获取 json 对象,以下举例说明:
var u = eval('('+user+')');
为什么要 eval 这里要添加 ('('+user+')') 呢?
原因在于:eval 本身的问题。 由于 json 是以 {} 的方式来开始以及结束的,在 js 中,它会被当成一个语句块来处理,所以必须强制性的将它转换成一种表达式。
加上圆括号的目的是迫使 eval 函数在处理 JavaScript 代码的时候强制将括号内的表达式(expression)转化为对象,而不是作为语句(statement)来执行。举一个例子,例如对象字面量 {},如若不加外层的括号,那么 eval 会将大括号识别为 javascript 代码块的开始和结束标记,那么{}将会被认为是执行了一句空语句。所以下面两个执行结果是不同的:
alert(eval("{}"); // return undefinedalert(eval("({})");// return object[Object]
测试实例
var user = '{name:"张三",age:23,'+ 'address:{city:"青岛",zip:"266071"},'+ 'email:"iteacher@haiersoft.com.cn",'+ 'showInfo:function(){'+ 'document.write("姓名:"+this.name+"<br/>");'+ 'document.write("年龄:"+this.age+"<br/>");'+ 'document.write("地址:"+this.address.city+"<br/>");'+ 'document.write("邮编:"+this.address.zip+"<br/>");'+ 'document.write("E-mail:"+this.email+"<br/>");} }'; var u = eval('('+user+')'); u.showInfo();
阅读全文
0 0
- 对于服务器返回的JSON字符串,如果 jQuery 异步请求没做类型说明,或者以字符串方式接受,那么需要做一次对象化处理
- writeObject可以写n个,但是readObject()却只能读一次,你做一下测试。 如果你需要序列化好几个类的话,建议你用json;或者自己写两个方法,一个是将对象转换为字符串,一个是将字符串
- 用JSON解析出来的字符串,如果是空值,怎么和nil或者@\"\"做比较?
- ajax请求返回json字符串/json对象 处理
- Json对象和Json字符串的区别,以及Springmvc接受json字符串类型。
- Json对象和Json字符串的区别,以及Springmvc接受json字符串类型。
- js前端处理json对象,或者json的字符串
- ajax中接受返回字符串转为json并进行处理(不使用jquery)
- ajax请求返回json字符串解析方式
- jQuery对于字符串处理
- jquery异步请求返回JSON
- 使用jackson注解返还json对象(字符串数组),配合ajax做异步显示
- [置顶] 原来JAVA对象转JSON格式的字符串如此简单,返回来暂时不会做,留下纪念下
- 接受xml字符串+以流的形式返回信息
- fastjson 对于json数组字符串的处理
- sphinx做搜索时如果web服务器和sphinx服务器不是同一台服务器,返回false的原因说明
- 如何使用ajax接受json返回的字符串数组,并动态异步显示到超链接的下面
- 将后台返回字符串数据转为jquery对象,并做一些操作
- HDU 3074 Multiply game【线段树||zkw线段树||扩展gcd*乘法逆元||欧拉定理】
- python实现贝叶斯算法
- 《SVM笔记系列之五》软间隔线性支持向量机
- express-session
- 仿京东实现使用味豆支付
- 对于服务器返回的JSON字符串,如果 jQuery 异步请求没做类型说明,或者以字符串方式接受,那么需要做一次对象化处理
- 超大数据快速导入MySQL
- 记Redis那坑人的HGETALL
- json基础
- GitHub使用教程(一)
- 立方尾不变
- 基础算法学习第二天(冒泡排序、选择排序、直接插入排序)
- 邻接链表实现的无向图
- css样式来源于层叠规则