eval()

不羁的心 提交于 2019-11-28 19:26:45
{'width':100,'height':200};/*JS的对象 */
{"width":100,"height":200,"name":"rose"}; /*JSON格式的JavaScript对象 */
'{"width":100,"height":200,"name":"rose"}';/*JSON格式的字符串 */

由于 JSON 语法是 JavaScript 语法的子集,JavaScript 函数 eval() 可用于将 JSON 文本转换为 JavaScript 对象。

eval() 函数使用的是 JavaScript 编译器,可解析 JSON 文本,然后生成 JavaScript 对象。必须把文本包围在括号中,这样才能避免语法错误:

var obj = eval ("(" + txt + ")");

在网页中使用 JavaScript 对象:

var txt = '{ "sites" : [' + '{ "name":"a" , "url":"com" },' + '{ "name":"google" , "url":"com" },' + '{ "name":"微博" , "url":"com" } ]}';
 var obj = eval ("(" + txt + ")");

区别

Json

Javascript对象

含义

仅仅是一种数据格式

表示类的实例

传输

可以跨平台数据传输,速度快

不能传输

表现

1,键值对方式,键必须加双引号

2,值不能是方法函数,不能是undefined/NaN

1,键值对方式,键不加引号

2,值可以是函数、对象、字符串、数字、boolean 等

相互转换

Json转化为js对象:

1,JSON.parse(jsonstring);
(不兼容ie7)

 

2,Jsobj=eval("("+jsonstring+")");

(兼容所有浏览器,但不安全,会执行json里面的表达式?)

Js对象转换为Json:

JSON.stringify(jsobj);(不兼容ie7)

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!